我们知道android系统的用户空间的第一个进程就是init进程,init进程起来之后会启动zygote、SurfaceFlinger以及一些守护进程。当SurfaceFlinger进程被Init进程启动之后,它会去启动开机动画程序bootanimation(bootanimation_main.cpp)。而zygote进程会去启动systemserver进程,而systemserver进程会去启动android系统的一些平台服务AMS,PMS,WMS等。之后AMS会去启动Launcher以及SystemUI应用,当Launcher这个应用资源都加载完之后,就等最后一步显示到前台来了,这个时候AMS会去请求SurfaceFlinger退出开机动画,这里要注意的是停止开机动画的播放只是退出动画播放的线程,一旦开机动画一退出,Launcher界面就显示出来了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐