一张图 纵横世界 ,给你一个完整的android启动过程框架 ,还你一个清晰明了的思路。


觉得太花哨,那就来个黑白版:

android本身网上讲解的启动流程很多,那为什么我还要画这张图呢? 原因是网上讲的是比较多,但是画出来的图,我在理解的时候,总是有偏差,自己在整理,想给别人传输概念时候,发现网上的那些图总是会带来一些误导。
我在画这张图的时候,里面标注最明显的就是进程,以及一些线程的文字,我想传递出去的就是,虚拟机是在zygote里面,是属于内部的一个实现,然后其他的apk在fork的时候,直接拿到了一个虚拟机。
而我们的AMS PMS这些,我画在了system_server进程里面,标注是线程。让你直观上去看到AMS这些是在system_server进程内部,不会出现理解偏差。
在zygote进程里面,我标注了一些 so jar apk的信息,这些就是在zygote进程启动时候,自己首先加载了一堆库和资源,这样子我们启动apk的时候,从它这里fork的时候,就直接带过去了,这样子我们apk就直接有了一个虚拟机,这样子就能解析执行java语言编出来的dex字节码了。
剩下的就是等你来细细阅读下这张图,有什么疑问,留言,代码GG随时解疑答惑。

更多相关文章

  1. 关于 Android(安卓)进程保活,你所需要知道的一切
  2. android init进程--init.rc解析过程与执行
  3. 【Android(安卓)开发入门】我为什么要在Android找工作越来越难的
  4. Android(安卓)Framework - 开机启动 Init 进程
  5. Android内存管理机制和内存泄漏分析及优化
  6. [Android官方API阅读]___
  7. Android的跨进程通信介绍----------------aidl,传递复杂对象以及S
  8. Android之ListView详解
  9. Android(安卓)启动分析 init进程 init.rc

随机推荐

  1. 2011.07.20(2)——— android 计算当前坐标
  2. Android——TabWidget(切换卡)
  3. 5 分钟开发一个 AI 检测人体框架的 App
  4. Android_selector背景选择器的用法
  5. android开发笔记之android studio
  6. Android 控件(button)对齐方法实现详解
  7. Epoxy——RecyclerView的绝佳助手
  8. Android中的单任务模式
  9. Kotlin 写 Android 单元测试(四),Robolectri
  10. android 桌面小工具(Widget)开发教程