Dalvik和ART

什么是Dalvik,什么是ART?

Dalvik是谷歌设计的用于Android平台的Java虚拟机,是Android平台的核心组件之一。它可以支持已转换为.dex(Dalvik Executable)格式的应用程序运行。dex格式是专为Dalvik应用设计的一种压缩格式,适合内存和处理器有限的系统。Dalvik经过优化后,允许在有限的内存中同时运行多个虚拟机,并且每一个Dalvik应用作为独立的Linux进程执行。独立的进程可以防止在某个进程的虚拟机崩溃的时候所有的程序都被关闭。

ART,Android Runtime,其处理应用程序的方式不同于Dalvik。Dalvik是依靠JIT(Just-In-Time)编译器的,程序运行时需要先将编译后的程序代码通过解释器翻译后再运行。ART则通过AOT(Ahead-Of-Time)机制在应用安装的时候就对字节码进行预编译,优化了Dalvik解释代码的这一过程,执行效率高,应用启动快。


Dalvik的优缺点:由于JIT机制,应用更容易在不同的硬件和架构上运行。但是相对低效。

ART的优缺点:系统性能提升明显,应用启动快,运行快,体验流畅。但是由于在安装时需要预编译并保存预编译内容,因此应用安装时间较长,并且安装后占用更多的存储空间。

posted @ 2017-02-06 22:23  风情云淡~  阅读(173)  评论(0编辑  收藏  举报