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