2

简而言之,什么是 ART(Android 运行时)和 Android 中的 DART,我在这里读到了它,但我并不真正了解它的重要性和用法。

在我询问之前,我还在 Stackoverflow 中搜索了任何相关问题。

4

1 回答 1

5

艺术

ART 是新的 Android 运行时。这个想法是用一个名为dex2oat的提前设备上编译器套件和一个新的应用程序运行时环境来替换 Dalvik 虚拟机。因此,如果您安装一个应用程序,它首先使用dex2oat编译器之一编译为本机代码,例如 Quick(默认为 5.0、5.1)或 Optimizing(默认为 6.0),并存储在所谓的 oat 文件中,是一个 ELF 共享对象。执行应用程序时,运行时会将 oat 文件的内容加载到预初始化的应用程序进程中。AOT 编译的优势在于,您可以进行最先进的优化,因为它不会在运行时执行。所以我们得到更快的应用程序但更慢的安装时间。

当您提供指向 Android Dev 页面的链接时,我假设您不是在谈论 DART 语言,而是在谈论 Dalvik Runtime。
Dalvik 是 Android 的字节码解释器(和 JIT 编译器),用于在执行时动态解释和优化应用程序代码。因此,与 AOT 编译相比,可以完成的优化量受限于较长的优化时间会减慢应用程序的实际执行速度这一事实。Dalvik 在 Android 5 中被 ART 取代。不过,应用程序的代码仍以 dex 文件的形式存储,这是 ART 编译器的输入格式。此外,出于调试目的和持久内存不足的设备,解释器仍然存在,即使它不是默认的并且它可能是一个更轻的版本。

于 2015-09-03T07:20:13.873 回答