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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,033评论 25 709
  • 本次系列的内容如下: Android启动流程——1 序言、bootloader引导与Linux启动Android系...
    隔壁老李头阅读 12,484评论 1 13
  • 旧时光,有多少。故事是否还在继续,我不知道。忘了他的模样,忘了他脸上每个深深浅浅的的轮廓。忘了他嘴角那弯的好看的弧...
    筱诗澈阅读 1,603评论 0 0
  • 今天的这篇文章和设计没啥关系,而是最近关于“成长”这件事的一个思考。有时候“知道做什么”,比“只是在不断地做”更重...
    沐风与体验设计阅读 3,203评论 2 3
  • 罔闻发簪弄桃花,静观长衫把浊酒。 落笔名姓无所是,挥霍余生尽糊涂。
    许LZ阅读 1,342评论 0 3

友情链接更多精彩内容