init进程启动
- 创建和挂载启动所需要的文件目录
- 初始化和启动属性服务
- 解析init.rc配置文件并启动Zygote进程
Zygote进程启动
- 创建AppRuntime并调用其start方法,启动Zygote进程
- 创建Java虚拟机并为Java虚拟机注册JNI方法
- 通过JNI调用ZygoteInit的main函数进入Zygote的java框架层
- 通过registerZygoteSocket()方法创建服务器端Socket,并通过runSelectLoop方法等待AMS的请求来创建新的应用程序进程
- 启动SystemServer进程