为什么Android AOT编译只能在安装时完成

时间:2013-12-07 17:24:21

标签: android compiler-construction jit dalvik aot

任何人都可以告诉我为什么只能在安装时执行AOT编译。为什么我们不能在桌面上提前编译并在adnroid设备上安装应用程序?

1 个答案:

答案 0 :(得分:2)

Android支持许多CPU架构。 ARM,x86和MIPS是三个主要系列,但也有子集(例如,ARMv5与ARMv7),未来可能还有其他支持Android的CPU。最好的二进制代码非常依赖于CPU架构。在编译时完成所有这些操作意味着:

  • 一个更大的APK文件,包含每个可能的架构,或

  • 许多APK文件,每个架构一个,导致分发的麻烦(特别是在Play商店之外)

通过在安装时进行AOT,就像ART显然那样,我们删除了这些限制,但仍然可以获得最佳代码。