1、源码
入口:system/core/init/main.cpp
2 流程图
https://note.youdao.com/s/EtnCswft
3、代码详解
主入口共三步,如流程图所示,我们主要看下最后一步
入口在init.cpp下,这个阶段主要来解析init.rc并执行此文件下的命令
看到解析函数如下:
这里我们看到在解析init.rc,文件内容如下
可以看到这个文件下有很多命令,这里查找下我们关注的内容
zygote调用
serviceManager 服务进程
解析后放到了am、sm下
ActionManager& am = ActionManager::GetInstance();
ServiceList& sm = ServiceList::GetInstance();
接下来我们看下执行
这里我们看到了循环执行,空闲则等待