ART模式究竟是什麼?ART模式是Android runtime的簡稱。它與傳統的安卓Dalvik模式究竟有什麼區別?它究竟好在哪?其實在Android 4.2以前,安卓手機系統的應用程序均在Dalvik Java的虛擬機上運行,這種運行模式是還要依靠一個編譯器來實現與應用程序的溝通。應程序每次運行時,都需要將程序內的代碼即使轉變為機器碼才能運行,這無形中多附加了一道手續,這就造成了耗電相對較快、占用內存大、即使是旗艦機用久了也會卡頓嚴重的現象。
相比較而言ART模式就很好的解決了這個問題,通過在安裝應用程序時,自動對程序進行代碼預讀取編譯,讓程序直接編譯成機器語言,免去了 Dalvik模式要時時轉換代碼,實現高效率、省電、占用更低的系統內存、手機運行流暢。但凡事總有正反兩面,ART在解決了該問題的同時,同時也有如:會占用略高一些的存儲空間、安裝程序時要相比普通Dalvik模式要長一些時間來實現預編譯。而現在我們就來實際體驗下ART模式,看看它究竟是否值得我們的期待。
占用存儲空間對比:
通過分別對ART模式與Dalvik模式的測試,發現ART模式下RAM與ROM的占用還是比較明顯的,最高相差近 20%,而最小不足5%。安卓系統的應用程序APK隨著1080p的普及和其他深入的優化,體積也越來越大,而在ART模式運行下,存儲占用(ROM)或是運行內存(RAM)占用會更明顯。不過這個幅度,完全可以接受,畢竟我們現在的手機基本上都8GB起步,完全不是什麼問題。
實際效率測試:
其實ART與Dalvik模式整體響應速度相差並不多,大多都相差在1秒或不到1秒左右的時間。當然,這也是目前針對ART 模式優化的應用程序較少的原因。在基准跑分測試中,ART模式的優勢就顯現出來了,確實要比Dalvik高效了不少。
軟件的兼容性對比:
一個新的底層運行模式,畢竟還是要靠應用程序的APP適配才能最大程度的發揮出最大優勢。然而目前由於Android 4.4並未大規模普及,僅在部分機型才有,所以目前ART模式下的兼容性,暫時還是個問題,有許多應用程序並未適配,會出現強行關閉、或干脆直接無響應的情況,這一切都是需要我們等待手機廠商後續的優化跟進才行。
耗電量測試:
編分別對Nexus 5的兩種模式進行了續航測試,在4小時的中等強度測試下,發現ART模式下,要略比Dalvik模式省電一些,大概在5%---8%左右。(具體還與信號、後台程序運行情況略有偏差)
總結:
通過編實際使用的幾天下來,在剛剛切換到ART模式下,其實並沒有太多的感覺,覺得一切流暢與速度,都是理所應當的。但當切換回Dalvik模式時,滑動桌面的一霎那就知道究竟差在哪裡。ART模式下,手指與屏幕的滑動可以說到了極其流暢的底部,基本做到了手指滑動到哪裡,屏幕顯示就跟著到哪裡。如果單就滑動時跟手的流暢度而言,iOS系統是9分的話,Nexus 5的ART系統小編給打8.9分。他們之間幾乎已經沒有太大的區別了。
而關於ART模式與Dalvik究竟有什麼本質的不同,打個比方就明白了。Dalvik模式像是一台折疊自行車,每次騎之前都要組裝後才能上路。而ART 模式就是一個已經裝好的自行車,直接就能上車走人。所以ART模式在效率上肯定是要好於Dalvik這已經基本毫無懸念,我們目前能做的就是耐心等待應