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 <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编写的系统服务
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,080评论 25 709
  • 1:InputChannel提供函数创建底层的Pipe对象 2: 1)客户端需要新建窗口 2)new ViewRo...
    自由人是工程师阅读 10,880评论 0 18
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,064评论 19 139
  • NBA作为世界顶级篮球联盟,这里是每一个打球人梦想的舞台。有的人天赋异禀轻松入围、也有的人通过自己的努力才勉强挤进...
    NBA加工厂阅读 3,276评论 1 2
  • 阿里巴巴股价继续创新高,收116.65美元。过往12个月累计涨幅超过50%,成为市值超过2500亿美元的公司。 新...
    Hanqiu_HTSC阅读 1,382评论 0 0

友情链接更多精彩内容