您的位置:首页 > 移动开发 > Android开发

3.Android的新虚拟ART与原虚拟机DVM的区别[误删恢复]

2018-01-12 10:46 274 查看
Android在4.2之前的虚拟机叫做 DVM

在4.2的时候多了一个虚拟机选择,这是新的虚拟机 ART。Android Runingtime

那时ART还不够成熟,需要测试,所以默认虚拟机是DVM。国内的ROM厂商直接把ART给割了。

Android5.0起,默认使用ART虚拟机,删掉了DVM。

两者的功能是一样的,都是将.class文件转为机器码执行程序。

区别之处在于: 将.class文件转为机器码的时候。

DVM  实时

每次运行应用的时候,实时将字节码转化为机器码,再运行程序。中间多了一道转换手续,使得程序响应需要更多的时间,因为实时,消耗了更多的电量,内存。(这就是相同配置的手机Android不如Apple流畅的原因。)

ART  安装时

在安装应用的时候,就将应用的字节码转换为机器码,保存在手机里。每次运行应用的时候,无需实时转换,直接使用转换好的机器码。打开应用更快,应用响应更及时,内存占用,电量消耗都减少。(拉近了与Apple的流畅距离)

缺点:同一款应用安装后比DVM占更多的空间,多出的空间用来保存机器码了,安装时间也更长点。一个应用里代码的大小是很小的,大都是资源素材大,因而多出的空间是很小的,现在手机都是16G+,不影响使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: