一概述
为什么要写
做 Android 开发已经好多年了,从最初的 CSDN 到后来的简书,再到如今的掘金,零零散散也写了不少博客,但是一直以来都感觉不成体系。并且每次写博客时,感觉自己掌握了的知识,后来再回头看,已经会发现有许多遗漏。所以,在写了这么多博客之后,我思考着,是否能够体系化的整理总结一份,全面的,体系的,还易懂的 Android 知识体系的博客。于是,就有了这个系列博客。
我要写什么
关于 Android 的博客,网络上已经非常多了,大神也是风起云涌。但是我依旧还是想写,一个是为了自我的鞭策,还有一个更重要的原因,则是很多资料都是 Android 4.4 到 Android 6,Android 10 以上的资料就已经零零碎碎了,更不要说今年 Android 14 的开发预览版已经出来了,要么变化,许多核心已经是老的那些,但是要说没变,其实也有许多改变。
所以我希望能够,在基于那些大神的基础上,尽量基于 Android 较新的源码,来对 Android 系统中的一些原理或者机制,做一些解析。因为文章的写作时间有先后,所以版本并不会一直不变,我也会跟随者现有市场的版本占比,来根据不同版本的源码。
我会如何写
最后,我再说说我会怎么写。关于 Android 系统的源码,我的观点一直是庞大而复杂,所以对于很多地方,并不能一篇文章就解释清楚,甚至好多篇也不一定能完全覆盖,所以我尽量以问题驱动的形式,尽量每篇文章围绕者一个问题,或者一个核心。对于其他的问题,会分不同的篇幅进行解答。
最后我想说的是,阅读源码不是一蹴而就的事,很多地方我读了几遍已经有很多不懂的地方,学习就是一个不断进步的过程,大家共勉。
二 Android 系统基础
2.1 系统的启动
2.2 四大组件
三 系统服务
3.1 PMS系列
PMS系列
PackageManagerService 源码解析——开篇
3.2 AMS系列
AMS系列
ActivityManagerService源码解析——开篇
3.3 WMS系列
WMS系列
3.4 SurfaceFlinger系列
SurfaceFlinger系列
四 Android 系统机制
4.1 Handler系列
Handler系列
TODO 未完待续