Android(安卓)启动过程框架
16lz
2022-01-17
一张图 纵横世界 ,给你一个完整的android启动过程框架 ,还你一个清晰明了的思路。
觉得太花哨,那就来个黑白版:
android本身网上讲解的启动流程很多,那为什么我还要画这张图呢? 原因是网上讲的是比较多,但是画出来的图,我在理解的时候,总是有偏差,自己在整理,想给别人传输概念时候,发现网上的那些图总是会带来一些误导。
我在画这张图的时候,里面标注最明显的就是进程,以及一些线程的文字,我想传递出去的就是,虚拟机是在zygote里面,是属于内部的一个实现,然后其他的apk在fork的时候,直接拿到了一个虚拟机。
而我们的AMS PMS这些,我画在了system_server进程里面,标注是线程。让你直观上去看到AMS这些是在system_server进程内部,不会出现理解偏差。
在zygote进程里面,我标注了一些 so jar apk的信息,这些就是在zygote进程启动时候,自己首先加载了一堆库和资源,这样子我们启动apk的时候,从它这里fork的时候,就直接带过去了,这样子我们apk就直接有了一个虚拟机,这样子就能解析执行java语言编出来的dex字节码了。
剩下的就是等你来细细阅读下这张图,有什么疑问,留言,代码GG随时解疑答惑。
更多相关文章
- 关于 Android(安卓)进程保活,你所需要知道的一切
- android init进程--init.rc解析过程与执行
- 【Android(安卓)开发入门】我为什么要在Android找工作越来越难的
- Android(安卓)Framework - 开机启动 Init 进程
- Android内存管理机制和内存泄漏分析及优化
- [Android官方API阅读]___
- Android的跨进程通信介绍----------------aidl,传递复杂对象以及S
- Android之ListView详解
- Android(安卓)启动分析 init进程 init.rc