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 編譯打包流程。

    

 

 

 

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章