gpt4 book ai didi

java - DVM 和 ART 有什么区别?为什么 DVM 在 Lollipop 中已正式被 ART 取代?

转载 作者:IT老高 更新时间:2023-10-28 20:54:44 24 4
gpt4 key购买 nike

自 Android Lollipop 以来,Google 已将 DVM 替换为 ART,因为 ART 比 DVM 更快。还有其他原因吗?

最佳答案

ART 带来了一些主要的性能改进,这是 Dalvik 所缺乏的。但是每个优点也都有一些缺点。我将尝试在这里讨论优点和缺点。


1) 编译方法

这是迄今为止 ART 相对于 Dalvik 的最大优势。 老家伙 Dalvik 使用即时 (JIT) 方法,其中编译是按需完成的。所有 dex 文件仅在需要时才转换为各自的原生表示。

但是ART 使用提前 (AOT) 方法,其中 dex 文件是在需要它们之前编译的。这本身极大地提高了任何 Android 设备的性能和电池生命周期。

例如

在 Dalvik 的情况下,每当您触摸应用程序图标将其打开时,必要的 dex 文件都会转换为其等效的 native 代码。该应用程序只有在编译完成后才会开始工作。因此,在此完成之前,应用程序没有响应。

此外,每次打开应用程序时都会重复此过程,从而浪费 CPU 周期和宝贵的电池电量。

但在 ART 的情况下,每当您安装应用程序时,所有 dex 文件都会一劳永逸地转换。因此,安装需要一些时间,应用程序占用的空间比 Dalvik 中的更多,但性能得到了大幅提升,电池生命周期也得到了巧妙的节省


2) 开机时间

在 Dalvik 的情况下,缓存是随着设备运行和应用程序的使用时间而构建的,正如 JIT 方法所指示的那样。 所以启动时间非常快。

但在 ART 的情况下,缓存是在第一次启动期间构建的,因此在 ART 的情况下启动时间要长得多。有时您在启动时可能会看到“优化应用程序”对话框。


3) 空间使用

在 ART 上运行的应用程序使用的空间远远超过 Dalvik。 就像 Dalvik 上的 20 MB 应用程序一样,在 ART 上占用超过 35 MB。

所以如果您使用的是低存储设备,那么这对您来说可能是一个巨大的劣势


4) ART 太快了

如上所述,ART 非常快速流畅。应用程序非常活泼且响应迅速。 Dalvik 和 ART 之间的任何比较,都肯定会让 ART 设备大获全胜。

ART 是所有认为 iOS 比 Android 更快、更流畅且电池效率更高的人的答案。 p>

关于java - DVM 和 ART 有什么区别?为什么 DVM 在 Lollipop 中已正式被 ART 取代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31957568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com