android之ART虚拟机和DVM虚拟机
2021-01-31 本文已影响0人
Lee_5566
image.png
ART虚拟机和DVM虚拟机
在Android 4.2之前的虚拟机叫做 DVM
在4.2的时候多了一个虚拟机选择,这是新的虚拟机 ART(Android Runingtime)。
那时ART还不够成熟,需要测试,所以默认虚拟机是DVM。国内的ROM厂商直接把ART给割了。Android5.0起,默认使用ART虚拟机,删掉了DVM。
DVM虚拟机(实时转换)
对应库名:libdvm.so库
ART采用的是AOT(Ahead-Of-Time)编译,每次运行应用的时候,实时将字节码转化为机器码,再运行程序。中间多了一道转换手续,使得程序响应需要更多的时间,因为实时,消耗了更多的电量,内存。(这就是相同配置的手机Android不如Apple流畅的原因。)
ART虚拟机
对应库名:libart.so库
ART采用的是AOT(Ahead-Of-Time)编译,在安装应用的时候,就将应用的字节码转换为机器码,保存在手机里。每次运行应用的时候,无需实时转换,直接使用转换好的机器码。
打开应用更快,应用响应更及时,内存占用,电量消耗都减少。(拉近了与Apple的流畅距离)