Dalvik的JIT与ART的AOT介绍

2022-03-21  本文已影响0人  漆先生

原文链接:https://blog.csdn.net/liangtianmeng/article/details/82454589

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的区别:

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

上一篇下一篇

猜你喜欢

热点阅读