任何人都可以告诉我为什么只能在安装时执行AOT编译。为什么我们不能在桌面上提前编译并在adnroid设备上安装应用程序?
答案 0 :(得分:2)
Android支持许多CPU架构。 ARM,x86和MIPS是三个主要系列,但也有子集(例如,ARMv5与ARMv7),未来可能还有其他支持Android的CPU。最好的二进制代码非常依赖于CPU架构。在编译时完成所有这些操作意味着:
一个更大的APK文件,包含每个可能的架构,或
许多APK文件,每个架构一个,导致分发的麻烦(特别是在Play商店之外)
通过在安装时进行AOT,就像ART显然那样,我们删除了这些限制,但仍然可以获得最佳代码。