这是一个简单的内核、native 、系统进程、 app进程的关系图
主要可以分为下面几个步骤:
1、init启动核心Daemon服务包括Android世界第一个Dalvik虚拟机zygote。
2、zygote中定义一个Socket,用于接收ActivityManagerService启动应用程序的请求。
3、zygote通过fork系统调用创建system_server进程。
4、在system_server进程的init1和init2阶段分别启动Native System Service和Java System Service。
5、系统服务启动后会注册到ServiceManager中,用以Binder通信。
6、ActivityManagerService进入systemReady状态。
7、在systemReady状态ActivityManagerService会与zygote的Socket通信,请求启动Home。
8、zygote收到ActivityManagerService的连接请求,执行runSelectLoopMode处理请求。
9、zygote处理请求会通过forkAndSpecialize启动新的应用进程,并最终启动Home。
开机过程中进程的创建流程框架图
最新推荐文章于 2024-04-30 11:05:11 发布