标签:
Zygote:
1、Zygote 是系统启动之后创建的第二个进程
2、Zygote 创建zygote Socket、虚拟机
3、Zygote 在虚拟机中通过forkSystemServer, 创建Server进程, 并且在其中启动服务(AMS、PMS等)
4、Zygote 在虚拟机中注册zygote套接字,循环监听AMS的请求,创建新的进程
Server: (PS:版本不同,创建服务的方法也有很大不同,以下为5.1.1版本)
1、Zygote fork自己,为Server创建新的子进程之后,调用handleSystemServerProcess 来启动服务
2、handleSystemServerProcess 方法接着调用了 invokeStaticMain方法启动了SystemServer的main方法
3、在main方法中,调用 SystemServer 的run方法
4、其中的 startBootstrapServices 、 startCoreServices 、startOtherServices 分别用来启动不同的服务(AMS、PMS、WMS、CS等)
小结:
1、Zygote是一个进程,它有自己的虚拟机
2、AMS、WMS、PMS等在一个进程,运行在虚拟机中,由Zygote创建
3、Zygote 用来接收AMS的指令,创建新的进程
标签:
原文地址:http://www.cnblogs.com/lipeil/p/4900380.html