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的启动页。