码迷,mamicode.com
首页 > 移动开发 > 详细

Android 源码阅读笔记

时间:2015-10-22 12:13:21      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:

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的指令,创建新的进程

 

Android 源码阅读笔记

标签:

原文地址:http://www.cnblogs.com/lipeil/p/4900380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!