當前位置:首頁 » 安卓系統 » androiddalvik

androiddalvik

發布時間: 2025-07-12 10:08:50

① 說一說Android的Dalvik,ART與JIT,AOT

Dalvik、ART、JIT與AOT的概述如下

  • Dalvik

    • 定義:Dalvik是Android系統初期使用的Java虛擬機,負責將dex文件翻譯為機器碼交予系統調用。
    • 特點:在每次執行代碼時,Dalvik都需要將操作碼代碼轉換為微處理器指令,這導致了運行效率低下。
  • ART

    • 定義:ART是Google在Android 4.4版本中推出的全新虛擬機運行環境,旨在替代Dalvik。
    • 特點:ART採用靜態編譯方式,在應用安裝時啟動dex2oat過程,將dex預編譯成ELF文件。這樣,每次運行程序時就不需重新編譯,從而提高了運行效率。
  • JIT

    • 定義:JIT是一種編譯策略,旨在提高應用程序的運行效率。
    • 特點:在Dalvik虛擬機中,JIT編譯器會在應用程序運行時,對遇到的新類進行即時編譯。編譯後的代碼被優化為精簡的原生型指令碼,使得下次執行到相同邏輯時速度更快。JIT編譯器可以對執行頻繁的dex和odex代碼進行編譯與優化。
    • 局限性:雖然JIT可以優化Dalvik的運行速度,但將dex翻譯為本地機器碼依然佔用時間。
  • AOT

    • 定義:AOT是與JIT相對的另一種編譯策略,主要在應用安裝時進行預編譯。
    • 特點:AOT在ART虛擬機中被廣泛採用,通過在應用安裝時將dex預編譯成ELF文件,使得每次運行程序時不需重新編譯。AOT/JIT混合編譯策略在Android 7.0版本中被採用,結合了AOT的預編譯優勢和JIT的運行時優化能力,從而實現更好的性能和效率。

綜上所述,Dalvik和ART是Android的兩種主要虛擬機類型,而JIT和AOT則是為了提高運行效率而採用的不同編譯策略。

② Android系統中的運行時ART和Dalvik有什麼區別


Android系統中的運行時ART和Dalvik有什麼區別?
Android系統作為全球最受歡迎的移動操作系統之一,已經成為手機和平板電腦市場的主導者。Android系統的優勢之一是其良好的兼容性和可定製性,並提供了多種運行時環境,如Dalvik和ART。在這兩種運行時環境之間,有什麼區別呢?
Dalvik和ART
在Android系統中,Dalvik和ART是兩種不同的運行時環境。Dalvik運行時是Android系統中早期版本的默認運行時,而ART則從Android4.4版本開始作為默認運行時環境。兩者的區別在於它們對代碼的處理方式。
Dalvik使用JIT(即時編譯)技術,在應用程序運行時將應用程序的代碼編譯成Dalvik位元組碼,並將其存儲在設備的內存中。當應用程序需要執行這些代碼時,Dalvik會將其轉換為本機代碼,以便更快地執行。這種方法在處理大量代碼時效率較低,因為每次應用程序執行時都需要重新編譯。
ART則使用AOT(預編譯)技術,在應用程序安裝期間將應用程序的代碼預先編譯成本機代碼,並將其存儲在設備的內存中。這樣,當應用程序需要執行代碼時,它可以直接執行本機代碼,而無需在運行時進行編譯。這種處理方式更快,並且可以提高應用程序的性能。
區別
因為ART使用先前預編譯的本機代碼,所以它的啟動時間比Dalvik快,尤其是在多任務環境下,例如不停地切換應用程序時。此外,ART的應用程序運行速度也更快,因為它不需要在運行時編譯代碼,而是可以直接執行本機代碼。
然而,由於ART的預編譯過程需要花費更多時間,因此在應用程序安裝時,需要更長的等待時間。此外,ART需要更多的設備存儲空間,因為它需要存儲預編譯的本機代碼。
結論
總而言之,在Android系統中,ART和Dalvik之間的主要區別在於它們對應用程序代碼的處理方式。盡管ART需要更長的等待時間和更多的設備存儲空間,但它的應用程序運行速度確實比Dalvik更快。因此,Android系統用戶可以根據自己的使用需求選擇ART或Dalvik之一。

熱點內容
如何用密碼鎖定 發布:2025-07-12 14:39:10 瀏覽:924
軟體發布源碼 發布:2025-07-12 14:29:34 瀏覽:178
sql函數和存儲過程的區別 發布:2025-07-12 14:26:37 瀏覽:29
查看存儲功空間 發布:2025-07-12 14:17:22 瀏覽:941
安卓手機的朗讀功能在哪裡 發布:2025-07-12 14:17:07 瀏覽:298
mysql屬於什麼資料庫 發布:2025-07-12 13:55:52 瀏覽:166
源碼抓捕 發布:2025-07-12 13:47:34 瀏覽:873
安卓哪裡有李小龍 發布:2025-07-12 13:31:49 瀏覽:439
蘋果保存賬號密碼在哪裡找 發布:2025-07-12 13:31:07 瀏覽:99
東北大學c語言考試題 發布:2025-07-12 13:26:40 瀏覽:756