ART
- ART=- Android RunTime- 
- 是什么:Android的新一代的VM虚拟机
- 在Dalvik的基础上做了一些优化,提高了运行效率
- 用于替代旧的:Dalvik
 
- 特点
- 预先编译AOT
- 垃圾回收方面的优化
- 开发和调试方面的优化
- 支持采样分析器
- 支持更多调试功能
- 优化了异常和崩溃报告中的诊断详细信息
 
 
- 对比:DalvikvsART
- 效率对比
- Dalvik:应用每次运行的时候,- 字节码都需要通过- 即时编译器=- JIT=- Just In Time转换为- 机器码
- ART:应用在第一次安装的时候,- 字节码就会预先编译成- 机器码- 
- 使其成为真正的本地应用
- 这个过程叫做预编译=AOT=Ahead-Of-Time
- 所用工具是:dex2oat
- 这样的话,应用的启动(首次)和执行都会变得更加快速
 
- 文件类型变化:.java–>.class–>.dex–>.oat
- .oat: optimized android runtime machine code
 
 
 
- 效果对比
- Dalvik是运行时解释dex文件
- ART是安装时字节码预编译成机器码存储在本地,执行的时候直接就可以运行的
 
- 类比
- 就像骑自行车
- Dalvik ~= 折叠自行车:每次骑之前,都要先组装/展开才能骑
- ART ~= 组装好的自行车:每次直接骑着就走了