Android运行环境Dalvik模式和ART模式的区别对比

Android系统是以Linux系统为底层构建的,开源的Android系统需要配置到不同硬件配置的设备上,为了降低应用的开发难度,在Linux底层之上构筑了一个名为"Dalvik"的虚拟机,名为虚拟机,实际是一种应用编译模式,Android4.4开始引入的ART模式是一种全新的应用编译模式,Android5.0彻底从Dalvik转换到ART。

1、介绍:

Dalvik模式:

Dalvik是Google公司自己设计用于Android平台的Java虚拟机,Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一,它可以支持已转换为.dex格式的java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。每一个Dalvik应用作为一个独立的Linux进程执行,在有限的内存中允许同时运行多个虚拟机的实例。独立的进程可以防止在虚拟机崩溃时所有程序都被关闭。

因为Dalvik虚拟机,Android开发者只需按照谷歌提供的SDK即可轻松创建APP,不需要顾忌硬件、底层驱动等问题,在每次执行应用时,Dalvik虚拟机都会将程序的语言由高级语言编译为机器语言,Dalvik依靠一个Just-In-Time(JIT)编译器去解释字节码,每次运行都进行一次预编译,将字节码编译为机器语言;所以很长时间以来,Dalvik虚拟机一直被用户指责为拖慢安卓系统运行速度不如IOS的根源。

ART模式:

ART模式的完整名称是Android Runtime,启用ART模式后,系统在安装应用的时候只会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样运行程序时就不会每次都进行一次编译了,将提高执行效率,但所带来的问题就是会增加文件储存的大小。

2、体验上的区别:

Dalvik模式:

1、所占用运行内存大、2、所占用程序储存空间小、3、加载速度慢、4、省电、5、兼容性好

ART模式:

1、所占用运行内存小、2、所占用程序储存空间大、3、加载速度快、4、相对较费电、5、兼容性相对较差

猜你喜欢

转载自blog.csdn.net/DoonZhang/article/details/83186140