訊:Android 4.4 KitKat被認為是谷歌對安卓碎片化的終結。而KitKat的一個殺手锏則是用ART替代Dalvik虛擬機,這或許能讓安卓的流暢度提升。效果有待時間驗證,但谷歌現(xiàn)在已值得贊揚,因為其開始重視低端市場了。
與 iOS 相比,Android 的用戶體驗有個相對糟糕的開始。在很長的時間里,界面一直丑小鴨,卡頓也是揮不去的痛。不過,在 Google 的全力推動,以及硬件廠商的響應下,Android 還是跨越各種阻礙,逐漸壯大起來了。
在此過程中,Google 也在經(jīng)歷著重大的變化。它逐漸從一個只重視數(shù)據(jù)的公司,轉變?yōu)橐粋€重視設計和用戶體驗的公司。從 Android 4.0 開始,Android 擁有了自己的設計語言和應用設計指導。與此同時,Google 也在著手解決卡頓問題。Android 4.1 的“黃油計劃”,Android 4.3 的 TRIM 支持,都顯著提高了系統(tǒng)運行的順暢度,而 Android 4.4 的“Project Svelte”提升了內(nèi)存管理,使得系統(tǒng)能夠順利運行在硬件配置低端的設備上。
不過,要解決應用卡頓,還是要針對核心問題下手,就是應用運行環(huán)境。Dalvik VM 效率并不是最高的。從 Android 4.4 開始,Google 開發(fā)者引進了新的 Android 運行環(huán)境 ART(意思就是 Android Runtime。Android 官方頁面的介紹中,也將其稱作新的虛擬機),以替代舊的 Dalvik VM。它現(xiàn)在是實驗選項,系統(tǒng)默認的運行環(huán)境仍然是 Dalvik。ART 會為 Android 帶來怎樣的改變?AndroidPolice 網(wǎng)站對此進行了分析。
ART 的機制與 Dalvik 不同。在 Dalvik 下,應用每次運行的時候,字節(jié)碼都需要通過即時編譯器轉換為機器碼,這會拖慢應用的運行效率,而在 ART 環(huán)境中,應用在第一次安裝的時候,字節(jié)碼就會預先編譯成機器碼,使其成為真正的本地應用。這個過程叫做預編譯(AOT,Ahead-Of-Time)。這樣的話,應用的啟動和執(zhí)行都會變得更加快速。
根據(jù)一些基準測試,新的運行環(huán)境能夠使大多數(shù)應用的執(zhí)行時間減半。這意味著,CPU 消耗大、運行時間長的應用能夠更加快速地完成,而一般的應用也能更加流暢,比如動畫效果更順暢,觸控反饋更加即時。在多核處理器的設備上,多數(shù)情況下只需激活少量的核心,或者能夠更好的利用 ARM 的 big.LITTLE 架構。另外,它將會顯著提升電池的續(xù)航能力以及系統(tǒng)的性能。
預編譯也會帶來一些缺點。一方面,機器碼占用的存儲空間更大。字節(jié)碼變?yōu)闄C器碼之后,可能會增加 10%-20%,不過在應用包中,可執(zhí)行的代碼常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代碼只有 6.9 MB。另一方面,應用的安裝時間會變長。至于延長多少時間,取決于應用本身,一些復雜的應用如 Facebook 和 Google+ 會讓你等待更長時間。
總的來說,ART 的優(yōu)點還是遠遠超越其缺點的。畢竟,影響用戶體驗的要素中,電池續(xù)航和應用順暢運行更為重要。我們?nèi)匀徊恢?ART 何時能夠替代 Dalvik,不過 AndroidPolice 網(wǎng)站說,Google 已經(jīng)秘密開發(fā)了兩年之久。Android 擺脫卡頓的希望,看來就是它了。
責任編輯:Tinxu來源:愛范兒 分享到: