
程序员
文章平均质量分 90
嘴巴吃糖了
这个作者很懒,什么都没留下…
展开
-
Android架构开发进阶指南,Android Jetpack Compose强化实战
Android架构开发进阶指南原创 2023-03-30 22:17:10 · 375 阅读 · 0 评论 -
【Android Framework】任何人不看这份《Android Framework源码开发揭秘》我都会伤心的,ok?
由于业务需要,很多在做汽车、电视等其他智能硬件端的公司需要进行定制化的开发工作,这自然需要来提供技术支持。但是,想要熟练掌握Framework,不仅要对底层原理充分了解,还要知道如何利用Framework知识指导代码实践开发,除了Handler、Binder之外,还有Android App 的启动机制、AMS、PMS、WMS等…这样才能够真正说得上是熟练掌握Framework。如果你想要深入的学习Android Framework,在此奉上耗时三个月精心打造的《》,其中记录了从到。原创 2023-03-11 17:32:32 · 155 阅读 · 0 评论 -
程序员有四个出路,我选择了最艰难的一条
选择了就不后悔,我会坚守在Android领域,持续深耕!原创 2023-03-02 20:54:10 · 1103 阅读 · 0 评论 -
Android:面向单Activity开发
其实早在六七年前GitHub上就有单Activity的开源库Fragmentation,后来谷歌也出了一个库Navigation。本来以为官方出品必为经典,当时跟着官方文档一步一步踩坑,最后还是放弃了该方案。理由大概如下:原创 2023-02-27 14:48:41 · 772 阅读 · 0 评论 -
Android开发核心知识点梳理,25~40岁程序员进阶必备
在我的记忆中,早在2011年就有言论说Android系统要完蛋,时过9年后,Android系统仍旧坚挺。现在Android已经广泛的应用在手机、平板、车联网、物联网、智能电视等等领域,是名副其实的终端霸主。且Android系统还会存活很长的时间,具体多久不好预测,但应该比大多数程序员的职业生涯要长。原创 2023-02-20 16:55:50 · 402 阅读 · 0 评论 -
【译文】扒一扒Kotlin协程的幕后实现
Coroutines是近几年在Kotlin上Google主推的异步问题解决方案,至少在Android R Asynctask被放弃后,打开Android Document看到最显目的提示项目就是导引你至Coroutine的页面教导你怎么使用Coroutine。原创 2023-02-16 14:45:00 · 223 阅读 · 0 评论 -
Android Flutter势头强劲,未来或可成为移动开发主流技术之一!
Flutter是Google推出的跨平台移动开发框架,在过去的几年中,Flutter的发展势头非常强劲,并且受到了越来越多的开发者和企业的关注。在未来几年中,Flutter有望继续快速发展,因为它具有很多优势,例如快速开发,跨平台性能优良,生态系统丰富等。此外,Google对Flutter的持续投入也表明了它对Flutter的重要性。因此,。学习 Android Flutter 入门,你需要先对 Dart 语言有一定的了解,因为 Flutter 是基于 Dart 开发的。原创 2023-02-14 21:58:10 · 467 阅读 · 0 评论 -
Android App Bundle
现在上架Google Play必须上传Android App Bundle才行了,所以有必要简单了解下。简单来说就是Android App Bundle是一种新的发布格式,上传到商店之后,商店会利用这个Android App Bundle生成一堆Split APKs,当用户要去安装某个app时,只需要按需下载Split APKs中的部分apk(base apk + 各种配置apk),进行安装即可,总下载量大大减少。原创 2023-02-11 20:08:01 · 909 阅读 · 0 评论 -
Kotlin系列之不知道约定,可能有些代码你看不懂
约定是kotlin语法当中必不可少的一部分,可以说kotlin语法的整洁,约定在里面扮演着不可缺少的角色,无论是在运算,比较,解构或者调用lanmda表达式上,都能看见约定的身影。原创 2023-02-07 09:38:18 · 274 阅读 · 0 评论 -
Android面试不愁过啦!(最新1932页面试题合集分享)
如今,Android的系统开发、运用开发依然很成熟了,国内的开发领域里,Android不论从普及度和生态规模都已位居第一。虽然Android在大爆之后迎来了一段低谷,但总体体量够大,因此Android相关的岗位也越来越多,对中高级人才的需求也越来越大。这里小编就将最新总结的Android面试题分享给大家,希望能够帮助你在求职面试中脱颖而出,找到一份高薪工作。这些面试题覆盖Android基础知识、UI控件、网络通信、架构设计、性能优化、源码流程、新技术等多个方面,非常全面!需要完整版真题+解析的可。原创 2023-01-30 20:13:41 · 142 阅读 · 0 评论 -
钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花
相信大家对 Android 的 ANR 问题并不陌生。钉钉作为一个用户数超 5 亿,服务着 2100 万家组织的产品,基本上其他 App 遇到的 ANR 问题,我们都会遇到。和大家一样,我们最初在分析 ANR Trace 日志的时候,都会不禁怀疑上报的堆栈是否真的有问题,总有一种雾里看花的感觉。本系列文章主要介绍钉钉在 ANR 治理过程中的思考方向,工具建设,典型问题等,希望能够通过本次分享,为有 ANR 治理诉求的团队提供一定的参考。原创 2023-01-14 20:17:14 · 387 阅读 · 0 评论 -
最新Flutter完整开发实战详解,安卓程序员快存下吧,很难找全的~
现今,各大厂也更加愿意招收有Flutter开发经验的人才。但是光有技术有什么用呢?我们需要的是实战。所以我给大家分享一份《Flutter完整开发实战详解》资料,帮助大家更好的去开发Flutter原创 2023-01-11 14:42:37 · 436 阅读 · 0 评论 -
兔年了,一起用Compose来画兔子吧
记得去年的时候,看到过不少开发者用Compose画过老虎,各种各样的老虎都有,那既然已经是兔年了,忽然也想着用Compose来画只兔子试试看~原创 2023-01-10 09:56:46 · 345 阅读 · 0 评论 -
2023最新Android大厂高频面试题+解析大全,全文干货
工作多年,面对技术的更新迭代,我也会感到焦虑和迷茫。但在现在的大环境下,头部企业越来越重视产品的体验与成本,对中高级的开发者的能力要求也越来越高,时局不允许我们摆烂,必须不断提升技术,充实自己,太能不被淘汰。原创 2023-01-06 21:51:10 · 418 阅读 · 0 评论 -
Android架构开发手册,带你直观了解Android系统架构
在深入学习一个事物之前,我们都需要先纵观全局,对整体框架有一个认知,才不至于迷茫无措。学习Android也是如此,我们需要了解并掌握Android系统架构的核心思想,以及各个模块在Android系统所处的地位与价值,才能全方位的深度剖析各个模块功能,成功入门。先来看一张Google官方提供的 Android 经典分层架构图:Android系统架构从下往上依次分为Linux内核、HAL、系统Native库和Android运行时环境、Java框架层以及应用层这5层架构,每一层都包含了大量的子模块或子系统。原创 2022-12-16 21:52:58 · 558 阅读 · 0 评论 -
Flutter从头到尾设计一款简单的五子棋游戏(三) | 具体代码设计
今天在复习了原有的享元模式上,再介绍了桥接模式以及状态模式。关于棋子的创建以及玩家的状态我们也就已经设计完成,后续我们将把悔棋、以及App主题变换加上,基本就大功告成了。作者:Jalor链接:https://juejin.cn/post/7176111304745156665如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。原创 2022-12-14 14:55:53 · 529 阅读 · 0 评论 -
协程(22) | Channel原理解析
在前面文章我们介绍过 `Channel`的使用,`Channel`主要用于协程间的通信,相比于`Flow`,它还是热的,即不管有没有消费者,它都会往`Channel`中发射数据,即发射端一直会工作,就和一位热情的服务员一样。那本篇文章,就来解析一波`Channel`的原理,看看是如何实现在协程间通信的,以及探究"热"的原因。原创 2022-12-05 14:09:19 · 5145 阅读 · 0 评论 -
80%的人都答不出来的 Android Framework面试题,整理给大家
除了以上Framework相关的面试题,Android开发岗位的面试中,MVP架构、HashMap原理、性能优化、Flutter、源码分析等问题的出现频率页都是非常高的。即使不同部门对应聘者的要求会各有所侧重,但对基础知识储备的考察确实一样的。针对这种情况,这里整合了全网各平台及网友的面经,筛选出了其中最典型、考查频率最高、最具代表性的Android真题,旨在帮助大家高效准备面试,全面梳理和建立 Android 开发的知识体系。原创 2022-12-01 21:43:41 · 1339 阅读 · 0 评论 -
【源码阅读】最新Android开发源码精编解析,技术提升必备
犹记得13、14年,Android移动开发的浪潮大爆发,几乎所有的互联网公司开始大量招聘Android开发工程师。当时一些仅有高中学历的人,经过简单的培训都能进大厂。而现在,在网上发一个Android开发的岗位,1个小时能收到两三百份简历;今年开始大裁员经历了一波又一波;大厂岗位缩招,门槛也是高之又高。不少人为此担忧,惶惶不可终日。相信很多同学都已意识到提升自己的重要性,想通过阅读一些源码来提升自己的技术水平,毕竟在面试的时候,很多大厂都经常会扣到非常深入的底层源码。原创 2022-11-27 22:15:45 · 201 阅读 · 0 评论 -
阿里Android架构师进阶成长笔记,100G资源限时分享
移动架构师的成长路线是什么样的?首先,身为程序员,安身立命的根本还是技术,架构师要能够解决当前业务中的技术问题,同时培养自己的技术前瞻性,为业务的未来储备技术;其次,架构师还有很多需要沟通的工作(例如技术分享,培训,面试,推进技术方案实施等),因此培养自己的表达能力与协同能力也很重要;另外,优秀的移动架构师能够对业界都有所影响。当然到达到架构师的,我们自身的技术便得达到一定。这里分享一份由,帮助想要将技术提升一个台阶的人明确方向,高效学习。原创 2022-11-22 17:02:35 · 222 阅读 · 0 评论 -
Android跨平台开发(Flutter)技术解析与实战,全家桶学习资料
首先,踏入一个行业前,我们要选好方向,IT行业可发展的方向繁多复杂,拿Android开发来说,目前有几个比较火热的大方向值得考虑:> * Android跨平台技术(Flutter)> * Android音视频开发> * Android车载开发> * Android框架/应用架构开发对跨平台技术感兴趣的伙伴可以选择开始学习Flutter,这个新技术**开源、稳定且高效**,在世界范围内的使用率正在逐渐升高。原创 2022-11-10 14:35:04 · 513 阅读 · 0 评论 -
身处寒冬,该怎么去卷?APM必须了解一下
因疫情及国家政策影响(如双减政策),大环境持续下行,大公司业务线收缩及裁撤成常规操作,公司内“卷”成常态。作为一个螺丝钉,想要卷出重围,APM必须了解一下!本文主要介绍了APM的一些基础概念,让不熟悉APM的同学有个简单了解。需要绩效的同学们,可以优先考虑APM,开始卷起来啦!原创 2022-11-08 14:06:50 · 246 阅读 · 0 评论 -
收藏这份《Android车载系统应用指南》,助你轻松入门,斩获高薪
Android 是由 Google 公司和开放手机联盟基于 Linux 开发的操作系统,其主要应用于移动设备,应用生态丰富且能够非常轻松地运用在车载之上,快速建立起车载软件生态。阿里的 AliOS、百度 小度车载 OS、比亚迪 DiLink、蔚来 NIO OS、小鹏 Xmart OS 等就是最好的例子。Android操作系统地特性和与车载的良好适配,使其变成了互联网行业的一块新蛋糕,那么,作为开发者人员,我们想要转战或入行车载Android开发需要学习哪些内容呢?原创 2022-11-05 20:15:23 · 746 阅读 · 1 评论 -
Sword - 为 Kotlin 函数增加代理功能(三)
前面两篇文章笔者记录了 `Sword` 的实现过程,本篇文章简单记录下如何使用 `Sword` 以及如何通过 `KSP` 为 `InvocationHandler` 生成 `FqName` 索引类 `HandlerFqName`。下面我们先看下如何使用 `Sword` 吧。原创 2022-10-29 14:15:36 · 152 阅读 · 0 评论 -
最强《Android车载开发指南》,助你踏上车企数字化的快车道
汽车的智能化主要就体现在汽车操作系统上,即汽车电子控制装置(ECU)和车载电子设备(仪表、娱乐音响、导航系统、HUD等)。其中车载系统(Android Automotive)便是基于 Android 平台扩展,适用于现代汽车的智能操作系统,是Android程序员主要负责的领域。不过由Android程序员负责并不代表Android程序员就能无门槛上手,想要成为一名优秀的车载应用工程师,还需掌握MVVM架构、构建系统级应用、性能优化、IPC通信、CAN仿真测试工具、系统应用源码等技能。原创 2022-10-27 17:12:08 · 483 阅读 · 0 评论 -
Flutter 组件集录 | 从图标按钮看组件封装
虽然 `Flutter` 中提供的组件众多,但并非所有组件都是复杂的。大部分是 `StatelessWidget` 和 `StatefulWidget` 的派生类,在面对这些组件时,我们要清楚地认识一点:> 它们的核心功能是基于 `已有组件` 来 `封装构建逻辑`,完成特定的功能,简化使用。比如下面的 `BackButtonIcon` 组件,继承自 `StatelessWidget` 。在 `build` 方法中封装构建逻辑,其中使用 `Icon` 组件,根据不同的平台,展示不同的图标,如下所示:原创 2022-10-25 14:36:34 · 702 阅读 · 0 评论 -
史上最全,Android 11.0 最新Framework精编内核解析
对于Android开发,干上几年后,都要进阶,或者直接转行了。如果你还在干Android,想要进阶 对Framework的了解是必不可少的过程。因为底层知识永远都不过时;算法数据结构永远都不过时;基本的程序设计理论永远都不过时;良好的编码习惯永远都不过时;分析问题和解决问题的能力永远都不过时;强大的学习能力和旺盛的求知欲永远都不过时;你大脑的思维方式永远都不过时。社会需要的是创新型的人才,并不是一个敲代码的搬运工。要创新,那必然要搞懂原理,你才能够是一个创造者。而具体如何学习和提升呢?本文将为大家给到答案。原创 2022-10-24 13:58:50 · 1515 阅读 · 0 评论 -
FlutterUnit 更新 | 拓展样式风格切换 - 标准风格
`FlutterUnit` 最初主页面的设计风格被不少人所诟病,颜色花里胡哨,觉得有些非主流,和杀马特风格。为此推出可切换的 `标准风格` ,来满足不同使用者的口味。本文就来介绍一下拓展过程中的一些处理方式,如何在一个应用中,给出两种样式迥异风格的处理方案:原创 2022-10-20 11:26:56 · 558 阅读 · 0 评论 -
Android开发人员必看的 Handler 消息处理机制(源码实战)
Android中的异步消息处理主要由四个部分组成,Message、Handler、MessageQueue、Looper但是当我们提到 **Android 异步处理机制**的时候,我们首先会想到 **Handler**,而大多数Android 初学者对于 Handler 的作用仅局限于子线程如何更新 UI 这一方面;其实 Handler 能做的事情远不止于此,它贯穿于 Android 应用的整个生命周期,如果没原创 2022-09-29 15:20:44 · 700 阅读 · 0 评论 -
2022秋招总结,含泪整理最新Android开发岗面试题合集
2022年大约半年的时间,我都在准备找工作与找工作的过程中,每天疯狂做笔试题、投简历,卷的时候还不忘打开牛客瞄一眼,看着大家都没offer不经心里一松,结果一点开主页,好家伙西安交大、大连理工...?我差点被卷抑郁。不过现在可算有家公司把我给收了。只能说,今年的秋招让我充分感受到了行业的寒气。这里以过来人的身份提个建议:大家一定要早作准备,锁定暑期实习,尽量避免秋招,说多了都是泪......接下来,来总结一下我的复习经验和面经。首先,学习技术的脚步不能停,我们要持续储备知识,为求职打基础!原创 2022-09-24 19:47:33 · 465 阅读 · 0 评论 -
【Flutter专题】Android Flutter入门笔记、技术解析与项目实战
对于想成为全栈工程师,或想往混合式方向发展的程序员而言,学习Flutter无疑会让各位在未来的技术浪潮里保留优势,也让移动应用开发框架更加开源、稳定和高效。原创 2022-09-22 10:16:28 · 202 阅读 · 0 评论 -
寒冬下我们如何自救?这份Android全套进阶学习笔记助你突破瓶颈,迎接暖春
过去的一段时间,互联网行业都属于一个迅速扩张的时期,巨型化、规模化是各头部企业的战略目标。而现在,在一系列危机与冲击面前,整个行业都转变成了收缩趋势,头部企业纷纷裁员、岗位门槛变高,行业内卷严重的情况屡屡出现。各大小厂都开始缩招,一线、二线乃至三线的岗位供需失衡…华为的创始人任正非曾说:“”。总之,Android程序员的苦,我不说,大家都懂。但学Android就真的没出路没前途了吗?原创 2022-09-13 14:57:40 · 201 阅读 · 0 评论 -
Android Framework 开发揭解密,移动开发者必须掌握的底层原理
作为过来人,发现很多学习者和实践者都在 Android Framework上面临着很多的困扰,比如:工作场景中遇到难题,往往只能靠盲猜和感觉,用临时性的补救措施去掩盖,看似解决了问题,但下次同样的问题又会发作,原因则是缺乏方法论、思路的指引以及工具支持;能力修炼中,缺乏互联网项目这一实践环境,对Framework只能通过理论知识进行想象,无法认识其在工作实战中的真实面目和实操过程;...原创 2022-08-19 10:28:48 · 1303 阅读 · 0 评论 -
【工程化】Android开发电脑中都装了哪些软件
写在前面工欲善其事,必先利其器。作为一名Android开发者,在开始正式开发之前,给电脑安装各种开发相关软件是必不可少的。今天来罗列下我电脑中装的那些开发相关的软件,一来换新电脑时,可以方便根据应用清单安装软件,二来如果你是刚从事Android开发,也可以参考着安装这些软件,希望可以帮助到你。如果你是老兵,更欢迎能分享本文没有涉及到的好的软件~软件列表1、Android StudioAndroid Studio是Android App集成开发环境(IDE),每天可以说都在和她在打交道,两个屏幕的桌原创 2022-05-09 20:55:20 · 1245 阅读 · 0 评论 -
Kotlin高阶函数、内联函数以及集合变换序列
一、高阶函数高阶函数的一个重要特征就是参数类型包含函数,或者该函数的返回值类型是一个函数类型,那么该函数就被称为是高阶函数。下面看看如何把函数作为参数声明到另一个函数中://参数包含函数类型,()代表一个匿名函数,Unit代表无返回值fun paramFunction(block:() -> Unit){ block()}返回值是是一个函数的形式fun returnFunction():() -> Long{ return {System.currentTimeM原创 2022-02-22 11:05:45 · 613 阅读 · 0 评论 -
Android卡顿优化思路
卡顿优化思路卡顿原理分析卡顿流程flow卡顿概貌分析卡顿实际数据收集卡顿优化细节卡顿原因屏幕刷新频率高于帧率,帧率低于30每帧执行流程Choreographer中维护着四个队列callbacks输入事件队列动画队列绘制队列app添加的frameCallback队列vysnc信号由SurfaceFlinger中创建HWC触发,通过bitTube技术发送到目标进程,目标进程vsync信号到来时,执行Choreographer中的onVsync回调,最终触发doFrame顺序执原创 2022-02-19 14:57:49 · 1107 阅读 · 2 评论 -
Kotlin flow实践总结
背景最近学了下Kotlin Flow,顺便在项目中进行了实践,做一下总结。Flow是什么按顺序发出多个值的数据流。本质就是一个生产者消费者模型,生产者发送数据给消费者进行消费。冷流:当执行collect的时候(也就是有消费者的时候),生产者才开始发射数据流。生产者与消费者是一对一的关系。当生产者发送数据的时候,对应的消费者才可以收到数据。热流:不管有没有执行collect(也就是不管有没有消费者),生产者都会发射数据流到内存中。生产者与消费者是一对多的关系。当生产者发送数据的时候,多个原创 2022-02-19 14:56:09 · 4666 阅读 · 1 评论 -
到底如何写好注释呢?来呀,看这里
专栏介绍对于程序员而言,相信大家曾经都有这样的经历,要去修改别人的代码,每次接到这样的任务,心里都是有苦说不出呀,于是乎硬着头皮上吧,但是看到没有任何注释,一个函数好几百行的代码时,内心更是趋于崩溃,心想还不如自己重写一遍呢。之所以出现这样的原因,一方面是因为可能对原有的业务逻辑并不熟悉,另一方面其实更多是因为之前的代码写的太烂啦,业务逻辑不熟悉,我们找产品,找同事对一下,梳理一下就清楚啦,但是太烂的代码会成本的增加我们的工作量,而且修改完以后,内心还是一万个不放心,生怕又改出新的问题。因此,如何写出原创 2022-02-18 16:58:08 · 2164 阅读 · 0 评论 -
2021年终总结:我只给自己打60分,终于从外包跳到自研了
2021年我只给自己打60分,虽然完成了跳槽但是花了很大的代价。全年也依旧没有自律…记得2021年过年时是一直带着年终奖比其他人少的多的愤恨而不开心。凭什么都是做CRUD,我想的是反正没有加班费我也不想调休就没怎么报加班。而他们每次都混很多加班报上去,最后年终奖差这么多(事情做的一样的啊)。其实大家加班大部分都是混时间。铁铁的教训。对自己有利的事情(对别人也无害的话)一定要做。只看加班工时的公司赶紧逃离吧。打算年后跳是肯定要跳的。但是也没准备好面试题。内心还期望年后部门给我安排点挑..原创 2022-02-18 16:44:50 · 1434 阅读 · 3 评论 -
关于 Gradle 你应该知道的知识点
前言对于Android开发者来说,Gradle也可以说是熟悉的陌生人了,可以说天天会用到Gradle,但对于Gradle的一些原理与细节又往往不太了解本文主要介绍Gradle的一些基础知识与原理,如果对你有所帮助,欢迎点赞本文主要包括以下内容:Gradle到底是什么?Gradle Wrapper是什么?AGP到底是什么?gradle.properties是什么?settings.gradle是什么?build.gradle是什么?Gradle生命周期是怎样的?1. Gradle到底原创 2022-02-16 14:19:32 · 969 阅读 · 0 评论