4

我想问你是否正确理解了编译过程。

将 Android 应用程序导出到 .apk 文件后,我们会收到字节码(.apk)。

当我们想在 Android 设备上启动我们的应用程序时:

达尔维克:

字节码 (.apk) -> Dalvik VM JIT 编译 -> 编译原生代码 -> 程序执行(整个程序分配在内存中)

每次我们启动应用程序时都会执行这个 Dalvik JIT 编译。

艺术:

安装:

字节码 (.apk) -> ART VM AOT 编译 -> 编译的本机代码

应用启动:

本机代码 -> 执行(只有部分程序分配内存)

AOT 编译仅在应用安装后进行一次。

4

0 回答 0