11月1日,谷歌繼續低調發布了Android 4.4和Nexus 5,Android 4.4作為最新的系統版本更換代號為KitKat,但人們發現這個版本的系統似乎只是在一些小環節進行了改動,事實上系統代號由Jellybean更換為KitKat肯定不止扁平化那麼簡單,如果深度試用了Android 4.4的用戶一定會發現它多了一個ART模式,而ART模式的出現絕對是Android系統一個重要的轉折點,那麼這個ART模式到底是什麼?它又能為我們帶來什麼呢?今天筆者就為給位深度解析一下Android 4.4的ART模式。
安卓4.4 ART模式實測解析
如果要解釋清楚什麼是ART模式,我們就需要從Android系統的應用編譯模式說起,我們都知道Android系統是以Linux系統為底層構建的,Android系統是開源(原始碼公開)的,Android系統勢必會適配到不同硬體配置的設備上,因此谷歌為了降低應用的開發難度在Linux底層之上構築了一個名為「Dalvik」的虛擬機。
Android應用環境(圖片引自trendsbuzz)
因為Dalvik虛擬機的存在,Android系統的開發者只需使用谷歌提供的SDK(軟體開發工具包)即可較為輕鬆的按照一套「規則」創建APP,不用顧忌硬體、驅動等問題,在每次執行應用的時候Dalvik虛擬機都會將程序的語音由高級語言編譯為機器語言,這樣當前設備才能夠運行這一應用。
安兔兔4.0加入了虛擬機得分以反應用戶體驗
有的朋友可能注意到了,筆者特意強調了「每次」二字,以往的Android系統為了兼容性做出了妥協,在每次運行應用時都需要一次編譯,這樣程序的執行效率大大下降,這也是為什麼當Android設備已經全面進入四核時代後,還依然有用戶抱怨其流暢度不如iPhone。同時也是為什麼安兔兔為了照顧體驗方面的得分在4.0版本之後特意加入了Dalvik虛擬機一項,如果該項得分越高證明該機的軟體執行效率越高,在使用時的實際體驗就會更加流暢、順滑。
了解了Dalvik模式之後,我們便要了解一下Android 4.4中新加入的ART模式,該模式的完整名稱是Android runtime,事實上谷歌的這次優化源於前不久其收購的一家名為Flexycore的公司,該公司一直致力於Android系統的優化,而ART模式也是在該公司的優化方案上演進而來。
ART模式應用環境(圖片引自trendsbuzz)
ART模式與Dalvik模式最大的不同在於,在啟用ART模式後,系統在安裝應用的時候會進行一次預編譯,在安裝應用程式時會先將代碼轉換為機器語言存儲在本地,這樣在運行程序時就不會每次都進行一次編譯了,執行效率也大大提升。
開啟ART模式
從這方面來看,ART模式確實能夠改善Android平臺一直以來在兼容性方面的妥協,但另一方面,應用經過預編譯後的容量,以及應用是否兼容該模式也是需要重點考慮的問題,所以接下來筆者也準備通過一些測試來看看ART模式目前的表現是否能令人滿意。
在測試開始,筆者先進行了一些準備工作,首先筆者對測試的Nexus 4系統進行雙清操作(恢復出廠設置),然後不進行Root或者安裝應用等任何操作,這也是為了保持測試客觀性以及可參考性。
調出開發者選項
開啟ART模式
開啟ART模式會會有一定時間的等待
想要開啟ART模式非常簡單,首先在設置中的關於系統裡連續點擊「版本號」選項7次,在設置菜單中便會出現開發者選項,在該選項中有一項是「運行模式」,點擊這個選項便可以選擇Dalvik模式或者ART模式,如果選擇與當前模式不同的模式後,系統會提示將會自動關機,並且重啟系統後還會進入以軟體更新的界面,這與Android系統OTA升級後的界面類似,在筆者看來這也應該是所有系統app重新編譯的一個過程。
兩模式下系統佔用存儲對比(左為Dalvik模式右為ART模式)
兩模式佔用RAM對比(左為Dalvik模式右為ART模式)
首先筆者比較了Dalvik以及ART模式下,兩者Android系統本身所佔用的存儲空間,通過存儲這個選項看出,在常規Dalvik模式下可用空間為12.61GB,而在ART模式下可用空間為12.33GB,這也說明ART模式下Android系統本身增加了300MB左右的體積。而運行內存方面,Dalvik模式下已用RAM為345MB,而ART模式下的已用RAM為297MB,確實節省了一些RAM上的佔用。
Dalvik模式下軟體佔用存儲空間大小
ART模式下軟體佔用存儲空間大小
另一方面,筆者也針對應用的安裝和佔用容量進行了一個對比,在Dalvik模式下,QQ與百度地圖的容量大小分別為44.64MB和22.57MB,而在ART模式下QQ和百度地圖的容量大小分別為63.04MB、32.57MB,相比之前佔用的容量確實大了不少。
在啟動速度方面,筆者經過測試發現部分軟體的響應速度確實有所增加,而有的應用反而出現了卡頓,這也證明很多廠商都沒有對應用進行響應的優化,在網上有眾多網友反饋很多應用還存在部分功能無法使用或者FC(程序崩潰)的情況。在系統流暢性方面,因為原生Android本身流暢度就非常出色,所以僅憑肉眼相信這樣的差距是很難被發現的。
經過前面的測試,我們不難發現ART模式在目前還是無法大力推行的,首先就是系統版本的問題,谷歌此次推出Android 4.4正是為了平臺碎片化的問題,可是對於眾多廠商來說他們並沒有精力速度把現有可升級的設備都升級到Android 4.4,所以ART模式普及起來需要廠商的支持。
Android 4.4最大的魅力便是ART模式的加入
其實從Android的發展歷程來看,高配低能一直Android黨是被果粉們嘲笑重點之一,Android在硬體快速更新迭代的同時,在系統流暢性上卻依然無法與蘋果匹敵,並且整個系統的響應速度也不敵iOS,而這些一直都歸罪於Android底層機制。
這篇文章之所以叫做扭轉戰局的棋子是因為ART足夠優秀,也足夠改變Android與iOS目前的戰況。儘管ART模式可能會為用戶的存儲空間帶來一些困擾,但是在目前這個雲空間以及設備容量不斷增加的時代這些不足以成為弊端,如果我是用戶我也願意用一點點空間來換取內存機制、運行效率上的提升。
當然我們不得不考慮軟體廠商方面,在目前看來很多國內的app廠商並不願意遵循Android Design,有很多應用都更像是iOS的移植版本,所以筆者很難相信他們會針對ART模式有所優化,但如果廠商不跟進的話,谷歌就算把ART模式做的再完美也無濟於事。所以目前看來,ART模式仍需要時間來沉澱,如果廠商們願意,Android系統確實離完美更近了一步。
如果深度試用了Android 4.4的用戶一定會發現它多了一個ART模式,而ART模式的出現絕對是Android系統一個重要的轉折點,那麼這個ART模式到底是什麼?它又能為我們帶來什麼呢?今天筆者就為給位深度解析一下Android 4.4的ART模式。