当系统引导程序启动Linux内核时,内核会加载各种数据结构和驱动程序.有了驱动之后,开始启动Android系统并加载用户级别的第一个进程
init(system/core/init/Init.c).
加载Init.rc文件.主要启动了一个Zygote(孵化器)进程,此进程是Android系统启动关键服务的一个母进程.
Zygote进程的初始化在App_main.cpp文件中开启,代码片段如下:
现在从c或c++代码进入到java代码中,ZygoteInit.java初始化类,代码如下:
Zygote进程分叉出SystemServer类,main函数如下: