Android運行環境Dalvik模式和ART模式的區別

Android系統是以Linux系統爲底層構建的,開源的Android系統需要配置到不同硬件配置的設備上,爲了降低應用的開發難度,在Linux底層之上構築了一個名爲"Dalvik"的虛擬機,名爲虛擬機,實際是一種應用編譯模式,Android4.4開始引入的ART模式是一種全新的應用編譯模式,Android5.0徹底從Dalvik轉換到ART。

Dalvik模式:

Dalvik是Google公司自己設計用於Android平臺的Java虛擬機,Dalvik虛擬機是Google等廠商合作開發的Android移動設備平臺的核心組成部分之一,它可以支持已轉換爲.dex格式的java應用程序的運行,.dex格式是專爲Dalvik設計的一種壓縮格式,適合內存和處理器速度有限的系統。每一個Dalvik應用作爲一個獨立的Linux進程執行,在有限的內存中允許同時運行多個虛擬機的實例。獨立的進程可以防止在虛擬機崩潰時所有程序都被關閉。

因爲Dalvik虛擬機,Android開發者只需按照谷歌提供的SDK即可輕鬆創建APP,不需要顧忌硬件、底層驅動等問題,在每次執行應用時,Dalvik虛擬機都會將程序的語言由高級語言編譯爲機器語言,Dalvik依靠一個Just-In-Time(JIT)編譯器去解釋字節碼,每次運行程序都需要做上述操作,將字節碼編譯爲機器語言;所以很長時間以來,Dalvik虛擬機一直被用戶指責爲拖慢安卓系統運行速度不如iOS的根源。

ART模式:

ART模式的完整名稱是Android Runtime,谷歌收購了一家名爲Flexycore的公司,該公司一直致力於Android系統的優化,ART模式也是在該公司的優化方案上演進而來。

啓用ART模式後,系統在安裝應用的時候會進行一次預編譯,在安裝應用程序時會先將代碼轉換爲機器語言存儲在本地,這樣運行程序時就不會每次都進行一次編譯了,將提高執行效率。

區別:

編譯模式 RAM內存 ROM內存 流暢度 省電 兼容性 加載速度
Dalvik 普通 普通
ART 有待優化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章