微信号:code_gg_home

介绍:分享技术干货,分享最新新闻动态,分享开心段子,让大家轻松愉快的成长.

Android 启动过程框架

2017-08-21 20:09 陆晓明



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


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

        android本身网上讲解的启动流程很多,那为什么我还要画这张图呢? 原因是网上讲的是比较多,但是画出来的图,我在理解的时候,总是有偏差,自己在整理,想给别人传输概念时候,发现网上的那些图总是会带来一些误导。

        我在画这张图的时候,里面标注最明显的就是进程,以及一些线程的文字,我想传递出去的就是,虚拟机是在zygote里面,是属于内部的一个实现,然后其他的apk在fork的时候,直接拿到了一个虚拟机。 

        而我们的AMS PMS这些,我画在了system_server进程里面,标注是线程。让你直观上去看到AMS这些是在system_server进程内部,不会出现理解偏差。

        在zygote进程里面,我标注了一些 so jar apk的信息,这些就是在zygote进程启动时候,自己首先加载了一堆库和资源,这样子我们启动apk的时候,从它这里fork的时候,就直接带过去了,这样子我们apk就直接有了一个虚拟机,这样子就能解析执行java语言编出来的dex字节码了。

         剩下的就是等你来细细阅读下这张图,有什么疑问,留言,代码GG随时解疑答惑。

            



 
代码GG之家 更多文章 深入Android源码系列(二) HOOK技术大作战 vlc for android 完全编译 android native 代码内存泄露 定位方案 深入Android源码系列(一) google 进入分屏后在横屏模式按home键界面错乱( 四)
猜您喜欢 Java7新特性——异步IO通道 Android 跨进程通信Aidl的使用及注意事项 Web Cache原理,你真的造吗? 今天开始学逆向:SSH 访问越狱机与导出二进制文件的头文件 TED演讲:如何实现工作与生活的平衡?