4.5 本章小结
本章以Android系统上层启动流程为引线,详细分析了启动过程中zygote、system_server、ServerThread以及框架层系统服务与zygote交互的工作原理和实现代码。这部分内容是理解框架层设计和实现的基础。
首先从init.rc中zygote的配置开始,分析了zygote开启Java世界的五大步骤;然后围绕这五大步骤,详细分析了system_server在init1和init2阶段是如何启动Android核心系统服务,以及zygote是如何等待客户端请求的;最后以Home启动过程为例,贯通了ActivitManagerService客户端与zygote服务端的请求应答通道。
学习本章的目的不仅仅是让读者学会Android的开机启动流程,而是要让读者理解Android框架层运行的基础。学习了本章,读者会对框架层中核心系统服务的来龙去脉有一个初步的理解,为进一步学习框架层打下基础。