Android启动过程的相关学习
2016-03-17 09:39
351 查看
今天研究了一下Android的启动过程相关的知识,在这里记录与分享一下。我画了一个图用来理清顺序:
Android设备的启动必须经历3个阶段,即Boot Loader,Linux Kernel和Android系统服务,其中Boot Loader对应于第一步和第二步,主要是做引导。而Linux kernel则是启动内核,至于第四步和第五步则是对应于Android系统服务,默认情况下它们都有各自的启动画面。
作为Android中第一个被启动的进程,init的PID值为0。它通过解析init.rc脚本来构建出系统的初始运行形态——其他的Android系统服务程序大多是这个“rc”脚本中描述并被相继启动的。(G:\android 5.0系统源码\source\system\core\rootdir\init.rc,这个可以到自己相应的磁盘目录查看)
init.rc脚本的语法也很好理解,主要是由4种类型的声明组成。即:1、Action(动作)2、Commands(命令)3、Services(服务)4、Options(选项)。
注意:Actions和Services暗示着一个新语句的开始,这两个关键字后面跟着的commands或者options都属于这个新语句。Actions和services有唯一的名字,如果出现和已有动作或服务重名的,将会被当成错误忽略掉。
至于Action、Command、Service、Options的一些详细的语法含义以及命令含义,可以参考《深入理解Android内核设计思想》一书中的第七章内容。
作为Android系统的第一个进程,init将通过解析init.rc来陆续启动其他关键的系统服务进程——其中最重要的就是ServiceManager,Zygote和SystemServer。
这里主要记录两点:(1)Android中大多数应用的进程和系统进程都是通过Zygote来生成的。(2)SystemServer是Android进入Launcher前的最后准备,它提供了众多由Java语言编写的“系统服务”。
其他相关文章:http://blog.jobbole.com/67931/
Android设备的启动必须经历3个阶段,即Boot Loader,Linux Kernel和Android系统服务,其中Boot Loader对应于第一步和第二步,主要是做引导。而Linux kernel则是启动内核,至于第四步和第五步则是对应于Android系统服务,默认情况下它们都有各自的启动画面。
作为Android中第一个被启动的进程,init的PID值为0。它通过解析init.rc脚本来构建出系统的初始运行形态——其他的Android系统服务程序大多是这个“rc”脚本中描述并被相继启动的。(G:\android 5.0系统源码\source\system\core\rootdir\init.rc,这个可以到自己相应的磁盘目录查看)
init.rc脚本的语法也很好理解,主要是由4种类型的声明组成。即:1、Action(动作)2、Commands(命令)3、Services(服务)4、Options(选项)。
注意:Actions和Services暗示着一个新语句的开始,这两个关键字后面跟着的commands或者options都属于这个新语句。Actions和services有唯一的名字,如果出现和已有动作或服务重名的,将会被当成错误忽略掉。
至于Action、Command、Service、Options的一些详细的语法含义以及命令含义,可以参考《深入理解Android内核设计思想》一书中的第七章内容。
作为Android系统的第一个进程,init将通过解析init.rc来陆续启动其他关键的系统服务进程——其中最重要的就是ServiceManager,Zygote和SystemServer。
这里主要记录两点:(1)Android中大多数应用的进程和系统进程都是通过Zygote来生成的。(2)SystemServer是Android进入Launcher前的最后准备,它提供了众多由Java语言编写的“系统服务”。
其他相关文章:http://blog.jobbole.com/67931/
相关文章推荐
- Android fragment 生命周期 详解
- Android Wi-Fi子系统学习笔记
- android开发学习3
- android成长日记 11.详细学习了数据存储相关基础知识
- Android中加载大图片OOM(图片缩放)
- Qt打印调试信息输出到android logcat中
- Android开发小知识-Notification
- font-awesome android html 字体库怎么引用。
- Android的广播机制
- Android 开发学习2
- Android View 如何绘制
- Android安全攻防战,反编译与混淆技术完全解析(下)
- android: permission和uses-permission
- Android 验证是否为正确手机号
- Android---07---打电话和发短信打电话和发短信更新版
- Android实现开机自启动某个程序
- android 抽取主题样式
- android studio 插件
- Android finishOnTaskLaunch 属性
- AndroidManifest.xml文件详解(activity)(一)