9.14

  • 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 
          
          
         ...
      
    • Service服务实际上是可执行程序,在option选项的约束下运行或重启

      service  --argument1 --argument2
           
           
           ...
      
  • 由init.rc启动的三类关键系统服务:

    • ServiceManager
    • Zygote 生成Android中大多数应用及系统进程,包括本地系统服务与Java层系统服务(通过入口[email protected]启动)
    • SystemServer Android进入Lanuncher前的最后准备,提供Java编写的系统服务

你可能感兴趣的:(9.14)