android 6.0 源码纵向分析(开机流程)
在android纵向上主要是分析开机的启动流程,如图所示。这个过程从Init启动开始,到Launcher主界面显示结束。
首先,Init进程启动Zygote。SurfaceFlinger、Vold、等Native进程,当SurfaceFlinger进程被Init进程启动之后,它会去启动开机动画程序bootanimation,Init进程在启动SurfaceFlinger进程的同时也会启动Zygote进程,当Zygote进程启动之后会启动SystemServer进程,而SystemServer进程启动了核心服务AMS,WMS,PMS等,这些服务支撑了整个上层的应用程序,当SystemServer进程中的核心服务AMS启动好之后,AMS会启动android应用程序Launcher,Launcher会加载所有的应用图标到界面上,Launcher启动完成后,AMS会请求SurfaceFlinger退出开机动画,开机动画一退出,Launcher界面就显示出来了