Android 虚拟机相关概念

  1. 名词解释:

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

JIT:just In Time Compiler。

-------

ART:Anroid RunTime。

AOT:Ahead Of Time。

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 编译打包流程。

    

    

猜你喜欢

转载自my.oschina.net/u/592116/blog/2252231