理解Android Framework层最好的方式之一,就是所谓的“RTFSC (Read The Fucking Source Code)”。随着2018年 8 月Android 9.0的正式发布,笔者决定对新版本的部分源代码进行深入学习和研究,并加以整理发布于个人博客中。本系列文章的组织结构和相关说明如下:
(1)所有的Android源代码来源于Google Git中的android-9.0.0_r8分支,由于国内可能需要VPN才能访问,笔者已经将压缩包上传到了百度云盘进行共享。
(2)每篇文章以一个常用的API方法或机制为入口,深入分析它在Android Framework层中的调用流程。笔者会尽可能连贯地分析方法调用链,当出于简洁性考虑需要省略或跳过一些执行流程时,会在文中显式地说明。
(3)全文结构上包括正文、总结和参考文献三部分。其中,正文部分将整个调用流程划分为若干章节,每个章节再根据包含的方法数划分为若干小节。为了使读者能快速定位到特定章节,笔者为每个小节增加了锚点,在博客原始链接后附加“#chX-Y”就能快速跳转到“X.Y”小节
(4)每个小节的标题通常为“方法名@类名”,表示对单个方法进行分析。特别地,当存在同名(或名称相似)的重载方法时,为了压缩篇幅会将它们合并到一个小节中,此时小节的标题可能使用括号来显示多个方法间的细微差异。
&