我想问你是否正确理解编译过程。
将Android应用导出到.apk文件后,我们会收到字节代码(。apk)。
当我们想要在Android设备上启动我们的应用时:
的Dalvik:
字节代码(.apk) - > Dalvik VM JIT编译 - >编译本机代码 - >执行程序(整个程序在内存中分配)
每次我们开始使用该应用程序时都会执行此Dalvik JIT编译。
ART:
安装:
字节代码(.apk) - > ART VM AOT编译 - >编译本机代码
应用启动:
原生代码 - >执行(只有部分程序分配 存储器)
AOT编译仅在安装应用程序后进行一次。