速览体育网

Good Luck To You!

Android虚拟机ART和Dalvik到底有什么区别?

在 Android 生态系统的演进历程中,运行时环境的变革是推动其性能与体验飞跃的核心动力之一,Android Runtime(ART)的引入,标志着一个全新时代的到来,它彻底取代了早期的 Dalvik 虚拟机,成为了现代 Android 设备上执行应用代码的基石,为用户带来了更流畅、更高效、更省电的使用体验。

从 Dalvik 到 ART 的根本性转变

要理解 ART 的重要性,必须先了解它的前身——Dalvik 虚拟机,在 Android 5.0 Lollipop 之前,所有应用都运行在 Dalvik 上,Dalvik 采用的是 JIT(Just-In-Time,即时编译)技术,当一个应用启动时,Dalvik 会逐条解释应用的字节码(.dex 文件),并在运行过程中,将频繁执行的代码(热点代码)动态编译成设备的本地机器码,以提升后续执行效率。

这种模式的优点是应用安装速度快、占用存储空间小,因为安装时只需要存储字节码,但其缺点也同样明显:

  1. 启动延迟:应用首次启动或冷启动时,解释执行和即时编译的过程会消耗时间,导致界面卡顿。
  2. 运行时开销:JIT 编译器本身会占用 CPU 资源和内存,在运行时持续进行编译和分析,影响整体性能并消耗电量。
  3. 性能不确定性:编译过程依赖于运行时的代码执行情况,性能优化效果具有不确定性。

为了解决这些问题,Google 推出了 ART,ART 带来了一场革命性的改变,它采用了 AOT(Ahead-Of-Time,预先编译)技术。

ART 的核心机制:预先编译(AOT)

与 Dalvik 的 JIT 截然不同,ART 的工作原理是在用户安装应用时,就将应用的字节码一次性、完整地编译成针对设备架构的本地机器码(ARM 或 x86 指令集),这个编译产物被称为 OAT(Executable and Linkable Format)文件。

这一根本性的转变带来了立竿见影的优势:


  •  碧血染疆土
     发布于 2024-07-11 04:21:09  回复该评论
  • \n\n抱歉,我不太明白您的问题,您能否提供更多上下文或详细说明您需要的内容?谢谢!
  •  蓝晶灵
     发布于 2024-07-26 02:13:17  回复该评论
  • \n\n抱歉,我不太明白您的问题,您能否提供更多上下文或详细说明您需要的内容?谢谢!

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年2月    »
1
2345678
9101112131415
16171819202122
232425262728
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.4

Copyright Your WebSite.Some Rights Reserved.