2014-8-5 23:13| 发布者: tianzc| 查看: 906| 评论: 0
第六步:系统服务或服务 完成了上面几步之后,运行环境请求Zygote运行系统服务。系统服务同时使用native以及java编写,系统服务可以认为是一个进程。同一个系统服务在Android SDK可以以System Services形式获得。系统服务包含了所有的System Services。 Zygote创建新的进程去启动系统服务。你可以在ZygoteInit类的”startSystemServer”方法中找到源代码。 核心服务: 1.启动电源管理器; 2.创建Activity管理器; 3.启动电话注册; 4.启动包管理器; 5.设置Activity管理服务为系统进程; 6.启动上下文管理器; 7.启动系统Context Providers; 8.启动电池服务; 9.启动定时管理器; 10.启动传感服务; 11.启动窗口管理器; 12.启动蓝牙服务; 13.启动挂载服务。 其他服务: 1.启动状态栏服务; 2.启动硬件服务; 3.启动网络状态服务; 4.启动网络连接服务; 5.启动通知管理器; 6.启动设备存储监视服务; 7.启动定位管理器; 8.启动搜索服务; 9.启动剪切板服务; 10.启动登记服务; 11.启动壁纸服务; 12.启动音频服务; 13启动耳机监听; 14.启动AdbSettingsObserver(处理adb命令)。 第七步:引导完成 一旦系统服务在内存中跑起来了,Android就完成了引导过程。在这个时候“ACTION_BOOT_COMPLETED”开机启动广播就会发出去。 |