本片文章重点参考《Android进阶解密》
art在4.4时候发布的代替dvm的虚拟机,在4.4时默认采用的还是dvm,但是也可以选择art。然而在5.0以上的版本,Android默认采用了art
区别有以下几点
1.art采用了aop技术,安装程序时,将字节码预先编译成机器码并存储在本地,这样应用程序可以不再次编译后才能启动程序(类似srollview一次性全加载完)。dvm则是没有这一步的操作,每次打开程序都要编译一次程序(类似listview,等到你进入到某一项才给你加载)。这样做导致了以下的几个特性:
(1)art安装程序的时间会长一些,但是每次运行程序会快一点;dvm相反
(2)art由于预编译,所以所占的存储空间会大一些
2.dvm为32位cpu设计,而art支持64位且兼容了32位cpu(主要原因)
3.art对回收机制做了改进
4.art运行时空间划分与dvm不同