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