简单来说,什么是ART(Android运行时)和Android中的DART,我读了here,但我并不真正了解它的重要性和用法。

在问这个问题之前,我也在Stackoverflow的这里搜索了任何相关问题。

最佳答案

艺术

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



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

关于android - 什么是Android中的ART和DART,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31889461/

10-11 22:44
查看更多