Dalvik的JIT与ART的AOT介绍

JIT:全称Just in time即时编译,Dalvik VM采用的就是这种编译,我们知道apk被安装到手机中时,对应目录会有dex或odex和apk文件,apk文件存储的是资源文件,而dex或odex(经过优化后的dex文件内部存储class文件)内部存储class文件,每次运行app时虚拟机会将dex文件解释翻译成机器码,这样才算是本地可执行代码,之后被系统运行。

AOT:全称Ahead of time预编译,ART(andorid runtime)与Dalvik不同在于,它在安装apk的同时将字节码dex解释成了机器码,也就是安装完成就生成了本地可执行机器码,这样app启动及运行速度就会快很多。

Dalvik与Art的区别:

  1. Dalvik每次都要编译再运行,Art只会安装时启动编译
  2. Art占用空间比Dalvik大(原生代码占用的存储空间更大),就是用“空间换时间”
  3. Art减少编译,减少了CPU使用频率,使用明显改善电池续航
  4. Art应用启动更快、运行更快、体验更流畅、触感反馈更及时

以上有问题多多指正,谢谢~

参考文章:

https://blog.csdn.net/qq_36791569/article/details/80269482

https://www.jianshu.com/p/ac079e7fc412

https://www.jianshu.com/p/59d98244fb52

猜你喜欢

转载自blog.csdn.net/liangtianmeng/article/details/82454589