原文链接:http://blog.csdn.net/luoshengyang/article/details/6768304
这篇博客看的心塞塞的:
系统启动 - > init进程创建Zygote进程 ->Zygote进程负责Application FrameWork层的其他进程创建和启动,首先创建SystemService -> SystemService创建PackageManagerService 和ActivityManagerService等 ->ActivityManagerService通过Socket进程间通信机制,通知Zygote进程为这个应用创建一个新的进程。
这里总结一下:
1. 系统启动时init进程会创建Zygote进程,Zygote进程负责后续Android应用程序框架层的其它进程的创建和启动工作。
2. Zygote进程会首先创建一个SystemServer进程,SystemServer进程负责启动系统的关键服务,如包管理服务PackageManagerService和应用程序组件管理服务ActivityManagerService。
3. 当我们需要启动一个Android应用程序时,ActivityManagerService会通过Socket进程间通信机制,通知Zygote进程为这个应用程序创建一个新的进程。