Ahead-of-time(AOT) compilation
ART 里引入了提前编译,在安装应用时采用更严格的校验机制,使用 dex2oat 工具将 dex 文件编译成本地代码保存到磁盘上。
而 Dalvik 主要使用 JIT,在运行时即时编译字节码为本地代码。
所以 ART 在安装时更耗时,更占用磁盘空间,但是运行更快。
改善了垃圾回收机制
部分 GC 过程可以并行执行,改善了内存碎片化的问题。
开发和调试方面的提升
支持更多的调试特性,比如可以直接看到当前存在哪些锁,哪些线程持有了这些锁;异常和崩溃报告里给出了更多的诊断信息。
参考
文档信息
- 本文作者:bsauce
- 本文链接:https://bsauce.github.io/wiki/android-art-and-dalvik/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)