ART 的機制與 Dalvik 不同。在Dalvik下,套用每次運行的時候,位元組碼都需要通過即時編譯器轉換為機器碼,這會拖慢套用的運行效率,而在ART 環境中,套用在第一次安裝的時候,位元組碼就會預先編譯成機器碼,使其成為真正的本地套用。這個過程叫做預編譯(AOT,Ahead-Of-Time)。這樣的話,套用的啟動(首次)和執行都會變得更加快速。
基本介紹
- 中文名:Android運行環境ART
- 外文名:Android Runtime
原理講解,最新訊息,
原理講解
與 iOS 相比,Android 的用戶體驗有個相對糟糕的開始。在很長的時間裡,界面一直醜小鴨,卡頓也是揮不去的痛。不過,在 Google 的全力推動,以及硬體廠商的回響下,Android 還是跨越各種阻礙,逐漸壯大起來了。
在此過程中,Google 也在經歷著重大的變化。它逐漸從一個只重視數據的公司,轉變為一個重視設計和用戶體驗的公司。從 Android 4.0 開始,Android 擁有了自己的設計語言和套用設計指導。與此同時,Google 也在著手解決卡頓問題。Android 4.1 的“黃油計畫”使系統和套用運行都更加順暢,而 Android 4.2 的“Project Svelte”提升了記憶體管理,使得系統能夠順利運行在硬體配置低端的設備上。
但是,所有這些都沒有解決核心問題,那就是套用運行環境。Dalvik VM 效率並不是最高的。從 Android 4.4 開始,Google 開發者引進了新的 Android 運行環境 ART(意思就是 Android Runtime。Android 官方頁面的介紹中,也將其稱作新的虛擬機),以替代舊的 Dalvik VM。它是實驗選項,系統默認的運行環境仍然是 Dalvik。ART 會為 Android 帶來怎樣的改變?AndroidPolice 網站對此進行了分析。
根據一些基準測試,新的運行環境能夠使大多數套用的執行時間減半。這意味著,CPU 消耗大、運行時間長的套用能夠更加快速地完成,而一般的套用也能更加流暢,比如動畫效果更順暢,觸控反饋更加即時。在多核處理器的設備上,多數情況下只需 激活少量的核心,或者能夠更好的利用 ARM 的 big.LITTLE 架構。另外,它將會顯著提升電池的續航能力以及系統的性能。
預編譯也會帶來一些缺點。一方面,機器碼占用的存儲空間更大。位元組碼變為機器碼之後,可能會增加 10%-20%,不過在套用包中,可執行的代碼常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代碼只有 6.9 MB。另一方面,套用的安裝時間會變長。至於延長多少時間,取決於套用本身,一些複雜的套用如 Facebook 和 Google+ 會讓你等待更長時間。
總的來說,ART 的優點還是遠遠超越其缺點的。畢竟,影響用戶體驗的要素中,電池續航和套用順暢運行更為重要。在於2014 年 10 月 15 日發布的全新 Android 作業系統Android 5.0上,Dalvik徹底被ART取代了!
最新訊息
Google 於 2014 年 10 月 15 日發布了全新 Android 作業系統Android 5.0。Android 5.0系統徹底從Dalvik轉換到ART,為開發者和用戶帶來了有史以來最流暢的安卓!