android系统启动的时候首先会启动Linux的基础进程,加载Linux kernel启动初始化(init)进程。
接着,回启动Linux deamon(守护进程)会启动以下的内容:
①启动USBdusb管理守护进程来管理USB连接。
②启动adb守护进程来管理adb连接
③启动debugged守护进程来管理调试程序请求。
④启动ridle守护进程来管理无线管理进程. 请看图:
在启动init进程会启动守护进程同时,同时还会启动一个zygnote进程,其步骤如下:
①初始化一个davilk虚拟机实例
②装载一个socket请求所需的类和监听
③创建虚拟机实例来管理虚拟机的实例 如图所示:
再接着,需要初始化Runtime进程,其过程如下:
①注册服务管理器
②注册服务管理器,他作为默认的binder作为context管理器。
经接着,一个Runtime进程请求到zygnote创建一个davilk虚拟机的实例,如图:
这样,一个android实例已经启动了。