Android 台灣中文網

標題: Android 4.4 ART模式解讀、性能對比 [打印本頁]

作者: aas54432    時間: 2013-12-6 19:54
標題: Android 4.4 ART模式解讀、性能對比

                               
登錄/註冊後可看大圖


【新聞內容】
Android 4.4 KitKat裡最引人關注的變化之一就是新的Android運行時ART,但因為還是試驗性質的,Google並未做大張旗鼓的宣傳,相關介紹也很少,只說它有望取代使用許久的Dalvik虛擬機。

AnandTech近日詳細考察了Nexus 5,其中就對ART模式做了一些介紹和測試。

在Android設備上,Dalvik虛擬機是運行Java語言編寫應用的必需步驟,正是它將應用編譯為字節碼(ByteCode),然後再轉換成dex(Dalvik可執行格式),最終交給Dalvik虛擬機來運行。

通過這一過程,Android應用可以很好地適應各種形形色色的設備,但也因為中間的轉換過程降低了執行效率。

Android 2.2的時候引入了即時編譯器(JIT),大大提高了部分應用的執行效率。此後雖然不再有明顯的性能提升,但是Google和廠商們一直都在優化Dalvik。事實上,如果你執行了Dalvik緩存清理,就會看到“Android正在更新”(Android is upgrading)的提示,此時幕後就正在對dex文件進行深入優化,同時重建Dalvik緩存分區。

ART拋棄了JIT而轉向AOT(預先編譯)模式,會在啟動過程中同樣的“Android正在更新”時開始生效,只不過需要更長時間。

如果查看這個時候的系統日誌,就會發現新的ART文件格式“dex2oat”正在運行、編譯成文件、建立Dalvik緩存。

I/art ( 615): DexFile_isDexOptNeeded cache file /data/dalvik-cache/data@[email protected][email protected] does not exist for /data/app/com.google .android.apps.maps–2.apk
I/PackageManager( 615): Running dexopt on: com.google.android.apps.maps
I/dex2oat ( 951): dex2oat: /data/dalvik-cache/data@[email protected][email protected]
W/dex2oat ( 951): Compilation of com.google.zxing.gas[] com.google.zxing.gasf() took 126.362083ms

ART目前兼容ARMv7、x86、MIPS三種處理器架構,還不支持64位的ARMv8,而且從字節碼到原生代碼的轉換暫時僅支持AOT編譯,JIT模式得以後再說。這更加證明了ART現在的試驗性質。

底層虛擬機的變化對Android應用的性能、耗電量影響都是巨大的,ART又有什麼變化呢?



【文章來源】
:http://www.anandtech.com/show/7517/google-nexus-5-review/2


【特此聲明】
文章大部份都來自左岸,文章內有“國內、我國”  皆為疏忽,請至下方留言會有獎賞。


【評分美德】
評分是美德,轉貼新聞雖然不累,但您評分應該也不累
評分是系統給的,即使只有1幫助,轉貼者會很欣慰的


作者: achiehps202    時間: 2013-12-10 09:57
感謝大大無私分享。




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1