《老罗的Android之旅》阅读笔记——Launcher和Zygote的启动过程

时间:2022-10-15 04:34:21
  • Launcher启动过程

            系统中的应用程序安装好了以后,

SystemServer组件接下来就通过ActivityManagerService来启动Home应用程序Launcher了,

Launcher在启动的时候便会通过PackageManagerServic把系统中已经安装好的应用程序以快捷图标的形式展示在桌面上,这样用户就可以使用这些应用程序了,

整个过程如下图所示:

《老罗的Android之旅》阅读笔记——Launcher和Zygote的启动过程

  • Zygote启动过程

启动序列图:

《老罗的Android之旅》阅读笔记——Launcher和Zygote的启动过程

        1. 系统启动时init进程会创建Zygote进程,Zygote进程负责后续Android应用程序框架层的其它进程的创建和启动工作。

        2. Zygote进程会首先创建一个SystemServer进程,SystemServer进程负责启动系统的关键服务,如包管理服务PackageManagerService和应用程序组件管理服务ActivityManagerService。

        3. 当我们需要启动一个Android应用程序时,ActivityManagerService会通过Socket进程间通信机制,通知Zygote进程为这个应用程序创建一个新的进程。