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
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...