Android系统的分层和启动流程

Android系统架构

Android系统架构一共分为五层:

  • 应用层: 负责直接与用户交互
  • 应用框架层: 为开发人员提供开发程序的api
  • 系统运行库层: 包括c/c++程序库和Android运行时库
  • 硬件抽象层
  • Linux内核层

Android 系统的启动流程

1.按下电源键
按下电源键时会引导芯片代码(一般是固定在Rom上)从预定义的地方开始执行,加载引导程序BootLoader到RAM,然后执行。

2.引导程序BootLoader
Bootloader是Android系统开始运行前的一个小程序,负责将系统os拉起来。

3.Linux内核启动
Linux内核启动时,设置缓存、被保护存储器、计划列表、加载驱动。当内核完成系统设置,它会在系统中寻找init.rc文件,并启动init进程。

4.init进程
初始化和启动属性服务,并启动Zygote进程

5.Zygote进程启动
创建JavaVM并为JavaVM注册JNI,创建服务端Socket,启动SystemService。

6.SystemServer进程启动
启动Binder线程池和SystemServiceManger,并且启动各项系统服务

7.Launcher启动
被SystemServer启动的ActivityMangerService会启动Launcher,Launcher启动后会将已安装的应用快捷图标显示到桌面

最后就到了我们的桌面显示界面,点击对应的App图标进入到App的启动页。


你可能感兴趣的:(Android系统的分层和启动流程)