Android设备启动顺序依次为:BootLoader、LinuxKernel、Android系统服务。Android系统服务通过init.rc脚本相继开启。
init.rc脚本文件是Android系统中第一个被启动的进程,PID为0,构建出Android系统的初始运行形态,由纯文本编写。
-
init.rc内定义了一系列Action事件和Service服务
-
Anction实际上为响应某事件的过程。事件发生后,init.rc对各Action的trigger进行匹配,符合触发条件的Action被添加到队列尾部,系统按顺序执行各事件对应的command。
on <trigger> <command1> <command2> ... -
Service服务实际上是可执行程序,在option选项的约束下运行或重启
service <name><pathname> --argument1 --argument2 <option1> <option2> ...
-
-
由init.rc启动的三类关键系统服务:
- ServiceManager
- Zygote 生成Android中大多数应用及系统进程,包括本地系统服务与Java层系统服务(通过入口main@SystemService.java启动)
- SystemServer Android进入Lanuncher前的最后准备,提供Java编写的系统服务
9.14
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- 阿里巴巴股价继续创新高,收116.65美元。过往12个月累计涨幅超过50%,成为市值超过2500亿美元的公司。 新...