您的位置:首页 > 移动开发 > Android开发

Android ART的运行

2016-09-27 15:24 169 查看
Android oat ELF

oatdata:存储dex文件

oatexec:存储翻译成本地机器码的指令



details



加载oat 文件的过程



Utils classes for oatloading



查找类/方法/native code过程概述



Boot images

boot.art文件包含一些特殊的函数,这些函数会在ART虚拟机初始化image空间的时候,将其地址赋给相应的变量中。这些函数在ART解析函数调用的时候会用到。

Image roots中的元素都很重要。DexCache和Classroot 再后面介绍ART如何启动的时候,在详谈。

通俗的理解,boot.art包含了启动类加载后的类对象,启动时以直接被载入进程空间中。可以缩短ART虚拟机启动时间。

boot.art的img header中指明了boot.oat加载的位置oat begin.只要boot.oat加载到了这里,那么两者算相当于合体了,这样两者之间互有引用的东东,便可以轻而易举的建立联系了。



Boot process



ClassLinker



ART memory layout



ART memory usage



ART object structure



ART object allocation



ART object allocation impacted by GC

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android