Android虚拟机Dalvik和ART详解
Dalvik和ART都是Android虚拟机的一种实现方式,它们的主要区别在于执行字节码的方式不同。
1. Dalvik虚拟机:Dalvik虚拟机是Android 4.4及之前版本中默认的虚拟机。它使用的是即时编译(Just-In-Time Compilation,JIT)的方式来执行字节码。在应用程序运行时,Dalvik会将字节码转换成机器码并直接执行,这样可以提高应用程序的运行效率。但是,每次运行应用程序时都需要进行即时编译的过程,会导致应用程序启动较慢。
2. ART虚拟机:ART虚拟机是Android 5.0及之后版本中默认的虚拟机。它使用的是预编译(Ahead-Of-Time Compilation,AOT)的方式来执行字节码。在应用程序安装时,ART会将字节码预先编译成机器码,并保存在设备中。这样,在应用程序运行时就可以直接执行机器码,而不需要进行即时编译的过程。这种方式可以提高应用程序的启动速度和运行效率,但是会占用更多的存储空间。
总结来说,Dalvik虚拟机使用即时编译的方式执行字节码,启动较慢但运行效率高,而ART虚拟机使用预编译的方式执行字节码,启动速度快但需要占用更多的存储空间。在Android 7.0之后,ART虚拟机还引入了Just-In-Time编译器(JIT Compiler),可以在运行时对部分代码进行即时编译,以提高运行效率。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341