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