“ART和Dalvik”的版本间的差异

来自个人维基
跳转至: 导航搜索
(以“此页内容翻译自:https://source.android.com/devices/tech/dalvik/ ART,为 Android runtime的简称,它为 Andriod中应用程序和系统服务提供一...”为内容创建页面)
 
第3行: 第3行:
 
ART,为 Android runtime的简称,它为 Andriod中应用程序和系统服务提供一种新的底层运行模式。ART和它的前任 Dalvik都是为 Android专门开发的。ART兼容 Dalvik的文件格式和 Dex文件规范。
 
ART,为 Android runtime的简称,它为 Andriod中应用程序和系统服务提供一种新的底层运行模式。ART和它的前任 Dalvik都是为 Android专门开发的。ART兼容 Dalvik的文件格式和 Dex文件规范。
  
既然 ART和 Dalvik都兼容 Dex文件规范,所以之前为 Dalvik开发的应用理应在 ART上也能正常运作。不过,仍有一些 Dalvik上的开发技巧在 ART上是不能使用的,可以点击[http://developer.android.com/guide/practices/verifying-apps-art.html 这里]这里作进一步了解。
+
既然 ART和 Dalvik都兼容 Dex文件规范,所以之前为 Dalvik开发的应用理应在 ART上也能正常运作。不过,仍有一些 Dalvik上的开发技巧在 ART上是不能使用的,可以点击[http://developer.android.com/guide/practices/verifying-apps-art.html 这里]作进一步了解。
 +
 
 +
= ART特性 =
 +
 
 +
这里列出的是 ART的一些主要特性:
 +
 
 +
== AOT(Ahead-of-time)编译 ==
 +
 
 +
ART 采用的是“运行前”(AOT)编译,这样使得运行效率得到提升。此外,与 Dalvik相比,ART在应用安装时有着更为严格的校验机制。
 +
当应用安装时,ART通过 '''dex2oat'''工具对应用进行编译。这个工具可以把输入的 DEX文件编译生成当前机器兼容的可直接运行的执行机器码。理论上说,这个工具对所有正确的 DEX文件都应该是兼容的,但有些被预处理过的、不正确的 DEX文件,可能会出错(即使之前这些文件可以被 Dalvik相对较宽的校验机制通过)。[http://developer.android.com/guide/practices/verifying-apps-art.html#GC_Migration 更多内容]

2015年5月8日 (五) 15:12的版本

此页内容翻译自:https://source.android.com/devices/tech/dalvik/

ART,为 Android runtime的简称,它为 Andriod中应用程序和系统服务提供一种新的底层运行模式。ART和它的前任 Dalvik都是为 Android专门开发的。ART兼容 Dalvik的文件格式和 Dex文件规范。

既然 ART和 Dalvik都兼容 Dex文件规范,所以之前为 Dalvik开发的应用理应在 ART上也能正常运作。不过,仍有一些 Dalvik上的开发技巧在 ART上是不能使用的,可以点击这里作进一步了解。

ART特性

这里列出的是 ART的一些主要特性:

AOT(Ahead-of-time)编译

ART 采用的是“运行前”(AOT)编译,这样使得运行效率得到提升。此外,与 Dalvik相比,ART在应用安装时有着更为严格的校验机制。
当应用安装时,ART通过 dex2oat工具对应用进行编译。这个工具可以把输入的 DEX文件编译生成当前机器兼容的可直接运行的执行机器码。理论上说,这个工具对所有正确的 DEX文件都应该是兼容的,但有些被预处理过的、不正确的 DEX文件,可能会出错(即使之前这些文件可以被 Dalvik相对较宽的校验机制通过)。更多内容