Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正确理解艺术/达尔维克汇编_Java_Android_Compilation_Dalvik_Art Runtime - Fatal编程技术网

Java 正确理解艺术/达尔维克汇编

Java 正确理解艺术/达尔维克汇编,java,android,compilation,dalvik,art-runtime,Java,Android,Compilation,Dalvik,Art Runtime,我想问你我是否正确理解编译过程 将Android应用程序导出到.apk文件后,我们将收到字节码(.apk) 当我们想在Android设备上启动我们的应用程序时: Dalvik: 字节码(.apk)->Dalvik VM JIT编译->编译本机代码 ->程序的执行(整个程序分配到内存中) 每次启动应用程序时都会执行Dalvik JIT编译 艺术: 安装: 字节码(.apk)->ART VM AOT编译->编译本机代码 应用程序发布: 本机代码->执行(仅部分程序分配 内存) AOT编译只在应用程序

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

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

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

Dalvik:

字节码(.apk)->Dalvik VM JIT编译->编译本机代码 ->程序的执行(整个程序分配到内存中)

每次启动应用程序时都会执行Dalvik JIT编译

艺术:

安装:

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

应用程序发布:

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


AOT编译只在应用程序安装后处理一次。

Dalvik JIT确实是及时的,所以它只能在代码中的“热点”上运行。否则,整个APK不会加载到内存中。除此之外,在6月25日至26日会议结束后,你可能还想观看2014年谷歌I|O艺术会议的YouTube视频。