当前位置: 移动互联网学院 > Android开发 > Android启动的一般流程
Android启动的一般流程 时间:2017-08-23     来源:移动互联网学院

一、Android启动的流程

Android启动的流程如下图所示(图片来自互联网):

二、Android启动的流程说明

Step1:系统上电后,系统引导代码开始查找Boot Rom并将引导程序加载到到RAM。

Step2:Boot Loader引导程序是一段针对不同硬件编写的引导程序,它的作用主要是检测外部的RAM以及加载对第二阶段有用的程序,引导程序设置网络、内存等等。

Step3:内核启动时,将自动设置缓存、计划列表、加载驱动。当内核完成系统设置,它首先在系统文件中寻找”init”文件,然后启动root进程或者系统的第一个进程(也就是我们常说的祖先进程)。

Step4: init进程有两个责任,一是挂载目录,比如/sys、/dev、/proc,二是运行init.rc脚本。对于init.rc文件,Android中有特定的格式以及规则。在Android中,我们叫做Android初始化语言。Android初始化语言由四大类型的声明组成,即Actions(动作)、Commands(命令)、Services(服务)、以及Options(选项)。

Step5: Zygote是一个虚拟器进程,Zygote让Dalvik虚拟机共享代码实现预系统的加载以及初始化核心库类。

Step6:运行环境请求Zygote运行系统服务,随后启动系统的电源管理、Activity管理器、包管理器、蓝牙、挂载、状态栏、硬件等各种服务,实现Android系统的启动及运行。