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
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
相关文章推荐
- vc程序中运行其他程序和创建文件夹的方法:
- VC++6.0调试篇:运行时间的观察--watch窗口的技巧续
- 运行里输入的常用命令
- vm运行样本,实现自动下载
- Oracle自动运行数据库备份
- [JavaScript] 如何使用Ruby gem运行jasmine test case
- Winform(C#)限制程序只运行一个实例
- 对ARM加载域和运行域的理解
- Win系统下用Eclipse中运行远程hadoop MapReduce程序出现Permission denied错误
- mvc 项目运行报错检查web.config
- Codesmith连接上了mysql在运行模板的时候始终找不到表问题
- 支付宝集成过程详解——运行DEMO
- Java获取 JVM 运行信息
- JobHarvest——利用springAOP进行运行性能测评(更新中)
- 结论: blocking_query 是当前堵塞其他会话正在运行的SQL.而不是原始堵塞SQL
- 如何运行使用gradle打包的项目
- (监听器)在监听器中用WebApplicationContext创建spring环境,导致运行出现空指针,并无法查看页面
- vs2015+openCV(x64)出现运行时”无法查找或打开 PDB 文件”问题
- c++实现最大堆维护maxHeapify及运行实例结果
- macOS 运行react项目