摘要:在应用安装时就预编译字节码到机器语言,在移除解释代码这一过程后,应用程序执行将更有效率,启动更快。区别在应用程序启动时,通过进行连续的性能分析来优化程序代码的执行,在程序运行的过程中,虚拟机在不断的进行将字节码编译成机器码的工作。
参考:Dalvik与ART的区别
什么是DalvikDalvik是Google公司自己设计用于Android平台的Java虚拟机。dex格式是专为Dalvik应用设计的一种压缩格。Dalvik允许同时运行多个虚拟机的实例,并且每一个应用作为独立的Linux进程执行。
目前在Android4.4及其以下的版本中,应该全都是使用的Dalvik这种模式。
什么是ART:在Dalvik下,应用每次运行都需要通过即时编译器(JIT)将字节码转换为机器码,即每次都要编译加运行,这一机制并不高效,但让应用安装比较快。
ART在应用安装时就预编译字节码到机器语言,在移除解释代码这一过程后,应用程序执行将更有效率,启动更快。
区别:Dalvik在应用程序启动时,JIT通过进行连续的性能分析来优化程序代码的执行,在程序运行的过程中,Dalvik虚拟机在不断的进行将字节码编译成机器码的工作。
ART引入了AOT这种预编译技术,在应用程序安装的过程中,ART就已经将所有的字节码重新编译成了机器码。应用程序运行过程中无需进行实时的编译工作,只需要进行直接调用.因此,ART极大的提高了应用程序的运行效率,同时也减少了手机的电量消耗,提高了移动设备的续航能力,在垃圾回收等机制上也有了较大的提升。
相对于Dalvik虚拟机模式,ART模式下Android应用程序的安装需要消耗更多的时间,同时也会占用更大的储存空间(指内部储存,用于储存编译后的代码),但节省了很多Dalvik虚拟机用于实时编译的时间
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70105.html
摘要:不过它确实各方面都做了大量的优化,本文中的很多知识点也来源于阿里的热修复技术原理一书,本书值得一读,里面就是基于框架来编排的。 前言;本文框架什么是热修复?热修复框架分类技术原理及特点Tinker框架解析各框架对比图总结通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单描述一下Tinker的框架结构。 一、什么是热修复?1.正常开发流程showI...
阅读 1179·2023-04-26 02:38
阅读 1473·2021-11-22 09:34
阅读 1180·2021-09-26 10:19
阅读 3159·2019-08-29 17:15
阅读 3515·2019-08-29 12:27
阅读 1715·2019-08-26 13:51
阅读 1858·2019-08-26 13:47
阅读 1010·2019-08-26 12:20