android开机启动流程
文章图片
ROM是只读存储器中->加载(引导程序)到 RAM 内存,
ROM中的Boot加载BootLoader到RAM中
BootLoader系统启动加载器,启动内核。
kernel(内核)由BootLoader加载 ,它是由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成,内核的启动后,设置缓存,受保护的内存,调度和加载驱动程序。 当内核完成系统设置时,它会在系统文件中查找“init”,启动init进程。
init进程:解析init.rc配置文件,启动核心守护进程serviceManager(它维护着系统服务和客户端的binder通信),zygote(虚拟器进程),其它守护进程
Zygote:以后启动的所有应用程序进程是被Zygote进程fork出来的,并都持有一个自己的Dalvik虚拟机
dalvik虚拟机:zygote创建第一个虚拟机(这时你就能看到安卓的开机界面)!
SystemServer进程:它能启动系统本地的各种服务程序,如电源管理器,电话注册,上下文管理器等。
在SystemServer的管理下又产生了ActivityManagerService和WindowsManager和其它Manager
【android开机启动流程】Zygote进程孵化出的第一个App进程home应用程序是Launcher,Launcher由ActivityManagerService启动的,运行在dalvik虚拟机上
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- Hive常见问题汇总
- android|android studio中ndk的使用
- Android事件传递源码分析
- 注册分销商的骄傲
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)