Android記憶體最佳化(一)Dalvik虛擬機器和ART虛擬機器對比

來源:互聯網
上載者:User

標籤:ati   開始   安裝   bug   blank   android5   就是   一個   style   

1.概述
  Android4.4以上開始使用ART虛擬機器,在此之前我們一直使用的Dalvik虛擬機器,那麼為什麼Google突然換了Android啟動並執行虛擬機器呢?答案只有一個:ART虛擬機器更優秀。

2.Dalvik vs ART
Dalvik 
  Android4.4及以前使用的都是Dalvik虛擬機器,我們知道Apk在打包的過程中會先將java等源碼通過javac編譯成.class檔案,但是我們的Dalvik虛擬機器只會執行.dex檔案,這個時候dx會將.class檔案轉換成Dalvik虛擬機器執行的.dex檔案。Dalvik虛擬機器在啟動的時候會先將.dex檔案轉換成快速啟動並執行機器碼,又因為65535這個問題,導致我們在應用冷啟動的時候有一個合包的過程,最後導致的一個結果就是我們的app啟動慢,這就是Dalvik虛擬機器的JIT特性(Just In Time)。
ART 
  ART虛擬機器是在Android5.0才開始使用的Android虛擬機器,ART虛擬機器必須要相容Dalvik虛擬機器的特性,但是ART有一個很好的特性AOT(ahead of time),這個特性就是我們在安裝APK的時候就將dex直接處理成可直接供ART虛擬機器使用的機器碼,ART虛擬機器將.dex檔案轉換成可直接啟動並執行.oat檔案,ART虛擬機器天生支援多dex,所以也不會有一個合包的過程,所以ART虛擬機器會很大的提升APP冷啟動速度。

3.總結
ART優點:
  加快APP冷啟動速度
  提升GC速度
  提供功能全面的Debug特性
ART缺點:
  APP安裝速度慢,因為在APK安裝的時候要產生可運行.oat檔案
  APK佔用空間大,因為在APK安裝的時候要產生可運行.oat檔案

 

 

參考:

http://liuwangshu.cn/application/performance/ram-1-dvm-art.html

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.