想要跳槽涨薪 那你准备拿下 Framework 了吗?
2023这个阶段Android 还行,只是初级开发没有之前那么吃香了,初级市场饱和,但是中高级岗位人才还是比较稀缺。
我们Android程序员与其他程序员一样,每过一年焦虑便加深一点,在近几年越来越差的大环境下更是如此。许多程序员面对越来越近的中年危机而手足无措,不知如何是好。有的人选择了转行,有的人继续浑浑噩噩,每日焦虑着度过。但我为我们Android程序员点名一条出路。
我们Android开发与其他开发有所不同。在中级开发以上的程序员是市场上的急缺岗位。哪怕在疫情的冲击下,Android系统仍然是全球最高占有率!以及由Android系统衍生出一系列的周边产品,例如车载系统,人脸识别系统,智能家电,智能机器人,还有大量的发展空间。Android开发在市场上仍有大量的需求。
所以,我们Android开发员只要理解底层原理,了解系统内核,提高自己的技术,相对其他程序员来说会有更大的收益。
作为一个Android开发 , Framework 层对工作有什么帮助
其实不需要别的,你去 Github 上看一下 腾讯 Matrix 的源码,就知道 Framework 的知识有多重要了。像掉帧监控,函数插桩,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……
另外 Framework 作为 Android 框架层,为 App 提供了众多 API 去调用 ,但是很多机制都是 Framework 包装好了给 App 来用的,如果不知道这些机制的原理,那么很难去在这基础上做优化。
而现在许多的高薪工作都需要熟悉Framework,而且不同于Android应用开发容易被替代,系统开发能让你有一份高薪稳定的工作。
Android framework开发薪资
这里分享一份腾讯架构师整理的 《Android Framework精编内核解析》,包含系统启动流程,Binder,Handler,WMS,AMS等等。每个板块都附有详细的相关代码和解析,这是我们学会组织代码,或者一些架构的思维的最好工具。
由于篇幅原因,本文精选几个章节,详细版点击免费领取
Android Framework入门
Android framework精编内核
第一章、深入解析Binder
Binder作为Android系统提供的一种IPC机制,无论从事系统开发还是应用开发,都应该有所了解,这是 Android系统中最重要的组成,也是最难理解的一块知识点,错综复杂。要深入了解 Binder 机制,最好的方法便是阅读源码,借用Linux 鼻祖 Linus Torvalds 曾说过的一句话:Read The Fucking Source Code.
第二章、深入解析Handler消息机制
本文所分析的内容大概有以下几个模块:
● 开发人员最初设计Handler时想要解决什么问题
● Handler为我们提供了哪些功能以及如何使用
● Handler实现原理的理论分析
● Handler实现原理的源码分析
● Android Ul线程中 Handler的特殊操作
第三章、Dalvik VM进程系统
Andorid系统启动、init 进程、Zygote、SystemServer启动流程、 应用程序的创建使用,Activity的创建、销毁 Handler和Looper。
第四章、深入解析 WMS
WMS是系统的其他服务,无论对于应用开发还是Framework开发都是重点知识它的职责有很多,主要有以下几点:
- 窗口管理
● WMS是窗口的管理者,它负责窗口的启动、添加和删除,另外窗口的大小也和层级也是由WMS管理的。窗口管理的核心成员有:DisplayContent、WindowToken和WindowState。 - 窗口动画
● 窗口间进行切换时,使用窗口动画可以显得更炫酷一些,窗口动画由WMS的动画子系统来负责,动画子系统的管理员为:WindowAnimator - 输入系统的中转站
● 通过窗口的接触从而产生触摸事件,InputManagerService(IMS)会对触摸事件进行处理,它会寻找一个最合适的窗口来处理触摸反馈信息,WMS是窗口的管理者,因此,WMS理所应当的成为了输入系统的中转站。 - Surface管理
● 窗口并不具备有绘制的功能,因此每个窗口都需要一块Surface来供自己绘制。为每个窗口分配Surface是由WMS来完成的