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

來源:互聯網
上載者:User

標籤:android   應用程式   google   

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開發人員只需按照Google提供的SDK即可輕鬆建立APP,不需要顧忌硬體、底層驅動等問題,在每次執行應用時,Dalvik虛擬機器都會將程式的語言由進階語言編譯為機器語言,Dalvik依靠一個Just-In-Time(JIT)編譯器去解釋位元組碼,每次運行程式都需要做上述操作,將位元組碼編譯為機器語言;所以很長時間以來,Dalvik虛擬機器一直被使用者指責為拖慢安卓系統運行速度不如IOS的根源。

ART模式:

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

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

區別:

編譯模式 RAM記憶體 ROM記憶體 流暢度 省電 相容性 載入速度
Dalvik 普通 普通
ART 有待最佳化

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.