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+,不影响使用。
在4.2的时候多了一个虚拟机选择,这是新的虚拟机 ART。Android Runingtime
那时ART还不够成熟,需要测试,所以默认虚拟机是DVM。国内的ROM厂商直接把ART给割了。
Android5.0起,默认使用ART虚拟机,删掉了DVM。
两者的功能是一样的,都是将.class文件转为机器码执行程序。
区别之处在于: 将.class文件转为机器码的时候。
DVM 实时
每次运行应用的时候,实时将字节码转化为机器码,再运行程序。中间多了一道转换手续,使得程序响应需要更多的时间,因为实时,消耗了更多的电量,内存。(这就是相同配置的手机Android不如Apple流畅的原因。)
ART 安装时
在安装应用的时候,就将应用的字节码转换为机器码,保存在手机里。每次运行应用的时候,无需实时转换,直接使用转换好的机器码。打开应用更快,应用响应更及时,内存占用,电量消耗都减少。(拉近了与Apple的流畅距离)
缺点:同一款应用安装后比DVM占更多的空间,多出的空间用来保存机器码了,安装时间也更长点。一个应用里代码的大小是很小的,大都是资源素材大,因而多出的空间是很小的,现在手机都是16G+,不影响使用。
相关文章推荐
- Android的新虚拟ART与原虚拟机DVM的区别
- 2.JVM和DVM之间的区别[误删恢复]
- Android虚拟机DVM和JAVA虚拟机JVM的区别总结
- android-浅谈DVM与JVM的区别
- Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念以及Dalvik和Java运行环境的区别
- Android 手机短信误删恢复
- Android ART虚拟机和Dalvik虚拟机区别
- Android开发_Android的Dalvik虚拟机和标准Java虚拟机的区别
- (Android)java虚拟机和Dalvik虚拟机的区别
- android开发的Dalvik虚拟机和JVM虚拟机的区别
- Android软件安全与逆向分析——dalvik虚拟机与Java虚拟机的区别(带实例)
- (Android)java虚拟机和Dalvik虚拟机的区别
- Android虚拟机和Java虚拟机之间的区别
- Android(java)学习笔记156:Java虚拟机和Dalvik虚拟机的区别
- Android手机误删SDCard文件后的数据恢复
- Android ART虚拟机和Dalvik虚拟机区别
- (Android)java虚拟机和Dalvik虚拟机的区别
- Java虚拟机和android虚拟机之间的区别
- android 58 jvm和dvm的区别(Dalvil VM)
- Android程序运行的Dalivk和Java程序运行的JVM虚拟机的区别?