Dalvik是Android的核心組成部分之一,Android上的應用程序需要依靠它才可以正常運行?,F在Google準備用新的運行環境ART來替代它。在最新的Android4.4上,有兩個運行環境供開發者選擇——默認的Dalvik和測試中的ART。
在以前的Android系統上,所有的應用程序都是運行在Dalvik中。應用程序每次運行時其中一部分代碼都要需要機器重新編譯。這個過程即消耗時間又要消耗系統資源,所以執行效率難免會降低。但其優點在于這種機制可以讓各種各樣的應用程序運行在多種硬件架構上。相比Dalvik,ART的處理機制完全不同,它會在應用程序安裝時就把程序代碼轉換成機器語言,讓程序成為真正的本地應用。這樣做的好處是程序的啟動時間被極大的提高,運行速度也會更快。電量消耗的更少,系統行也跟著更加流暢。
對于想嘗鮮的Nexus5用戶可以到設置的開發者選項里選擇ART選項,確認之后機器會重啟,根據手機內安裝的應用程序數量不同,第一次開機消耗的時間也不相同。
由于ART還處于測試階段,所以目前還很難精確地度量出其為Android設備提升的效率。但是一些基準測試表明它將大多數應用程序的執行時間削減了一半左右。這就意味著那些需要大量處理器性能和長時間運行的任務會被更快地執行完畢,系統也會更多地停留在閑置狀態。電量損耗會減少,流暢度也自然會提升。
當然ART帶來一些優點的同時,也會帶來一些缺點。
其一,由于ART需要應用程序在安裝時就把程序代碼轉換成機器語言,所以這會消耗掉更多的存儲空間,但消耗掉空間的增幅通常不會超過應用代碼包大小的20%。
其二,由于有了一個轉碼的過程,所以應用安裝時間難免會延長。拿最新的Google+應用為例,其apk格式的安裝包大小為28.3MB,但其代碼僅為6.9MB,所以多消耗掉的存儲空間并不驚人。至于第二個缺點那就只能等待了。
事實上,ART項目在Google內部已經進行了2年左右的時間?;厮菀幌?,當時差不多就是Google和甲骨文因為Java專利官司鬧得不可開交的那段時期。雖然到今天我們很難判斷發起ART項目的初衷是哪一個,但既然它能提升Android設備的性能,我們為什么不歡迎呢?
原文轉自:http://www.pingwest.com/google-art-dalvik/