Android 虚拟机相关概念

  1. 名词解释:

JVM:Java Virtual Machine,  java 程序运行的虚拟机。java

JIT:just In Time Compiler。android

-------翻译

ART:Anroid RunTime。code

AOT:Ahead Of Time。blog

Dalvik:Android 中使用的java  虚拟机。进程

DVM: Dalvik Virtual Machine: 每一个android 进程对应一个 DVM。编译器

------虚拟机

2, JVM  与 DVM 的区别编译

    JVM 运行java程序, 加载的事java 字节码。 DVM 运行android 程序。运行的是Dalvik字节码, 均由Java字节码转换而来。效率

3, DVM和ART(Android Runtime)虚拟机的区别与联系

   DVM 执行的事 dalvik 字节码,而ART VM 执行的是本地机器码。

    DVM原理:依靠JIT编译器去解释执行,运行时动态地将执行频率很高的dex字节码翻译成本地机器码而后在执行,可是将dex字节码翻译成本地机器码是发生在应用程序的运行过程当中,而且应用程序每一次从新运行的时候,都要从新作这个翻译工做.
    ART原理:应用程序仍然是一个包含dex字节码的apk文件。在安装应用的时候,dex中的字节码将被编译成本地机器码,以后每次打开应用,执行的都是本地机器码。移除了运行时的解释执行,效率更高,启动更快。(安卓在4.4中发布了ART运行时)

 

4, Android 虚拟机发展历程:

     < 4.4 DVM

    < 5.0 DVM (ART)

    < 7.0 ART

    now ART :(AOT + JIT) 混合编译,大大提高了初次安装执行速度。 

5,Android 编译打包流程。

    

相关文章
相关标签/搜索