Android的ART是什麼東西,有何作用

2021-03-03 22:14:48 字數 3827 閱讀 4038

1樓:陽光語言矯正學校

art 的機制與 dalvik 不同。在dalvik下,應用每次執行的時候,位元組碼都需要通過即時編譯器(just in time ,jit)轉換為機器碼,這會拖慢應用的執行效率,而在art 環境中,應用在第一次安裝的時候,位元組碼就會預先編譯成機器碼,使其成為真正的本地應用。這個過程叫做預編譯(aot,ahead-of-time)。

這樣的話,應用的啟動(首次)和執行都會變得更加快速。

art有什麼優缺點呢?

優點:1、系統效能的顯著提公升。

2、應用啟動更快、執行更快、體驗更流暢、觸感反饋更及時。

3、更長的電池續航能力。

4、支援更低的硬體。

缺點:1.機器碼佔用的儲存空間更大,位元組碼變為機器碼之後,可能會增加10%-20%(不過在應用包中,可執行的**常常只是一部分。

比如最新的 google+ apk 是 28.3 mb,但是**只有 6.9 mb。

)2.應用的安裝時間會變長。

tips:現在智慧型手機大部分都可以讓使用者選擇使用dalvik還是art模式。當然預設還是使用dalvik模式。

用法:設定-輔助功能-開發者選項(開發人員工具)-選擇執行環境(不同的手機設定的步驟可能不一樣)。

andriod 的 art 是什麼東西,有何作用

2樓:匿名使用者

art是乙個aot編譯器。所62616964757a686964616fe4b893e5b19e31333337626233

謂aot (ahead of time)是指在執行以前就把中間**靜態編譯成本地**,而jit (just intime)則是在執行時動態編譯。

aot和jit比各有長處,這裡不詳細,只簡單列舉幾個最主要的:

aot的主要編譯過程發生於開發用機,因此編譯得慢一點沒關係,可以充分的做各種耗時的優化;jit在執行時動態編譯,通常不能做太耗時的優化,否則影響啟動和執行速度

更具體一點,以sun的jvm為例,jit大體上劃分為client和server兩種模式。client模式下vm是一邊解釋執行,一邊識別熱點區域進行jit編譯,以免明顯影響啟動速度;考慮到記憶體佔用,也不會把所有java位元組碼都編譯成本地**。server模式下則會進行全面的jit編譯,因為server啟動慢一點沒關係,一旦跑起來就會執行很長時間,所以花一點點時間全面優化是值得的。

因為受優化程度限制,jit編譯出來的本地**體積通常比較大,5到10倍於bytecode都是正常的。aot編譯出來的本地**體積更小。android的jit code cache也是記憶體佔用的重要角色。

因為是預編譯好的機器**,aot產生的**和載入執行過程和普通的本地**沒有太大分別。不過仍然需要執行時的gc支援。

雖然aot可以有更多的時間和空間做編譯優化,但並不等於效能上就一定勝過jit。jvm有不少東西只能在執行時動態決定是否可以採用編譯優化(如識別可以inline的虛方法),以及執行時動態反優化(例如inline了乙個虛方法,後來發現遇到新的派生類的例項,就需要取消原來的inline)。這些事情aot就不容易做到。

aot的編譯器一般會分兩個版本,乙個在開發機上編譯整個系統和預裝應用,另乙個是乙個精簡版,在裝置上執行,負責編譯連線新安裝的應用。

aot編譯出來的**仍然需要執行時的支援,特別是gc。

如果art確實是用aot ***piler替換jit,效能先不談,android的記憶體佔用應該會因此獲益。現在dex**經過 dex => optimized dex => jit cache這個過程,記憶體中需要同時容納odex和jit cache兩份**;換成art以後,就變成dex => oat,記憶體裡只放oat就可以。不過考慮到art的直譯器**裡有提到deoptimization,也有可能在特定情況下還需要load dex**解釋執行。

重要的是oat應該是可以直接mmap執行的**(其實就是乙個真·elf格式的檔案),載入/換頁重載入的速度都會比從odex動態編譯來得快。

android 中的dalvik和art是什麼,有啥區別

3樓:幼兒園扛把就

dalvik模式像

是一台摺疊自

行車,每次騎之前都要組裝後才能上路。而回art模式就是乙個已經答裝好的自行車,直接就能上車走人。所以art模式在效率上肯定是要好於dalvik。

通過以上這種**,我們可以直白的看出,全新的art模式具備用ram記憶體小、流暢度更好以及更省電的特性。

1:art模式是android runtime的簡稱。在art虛擬機器環境下,android對程式只進行一次編譯,就是在程式安裝時。

在安裝應用時,art虛擬機器就先將程式的java語言轉化為適合android系統執行的機器語言,而且是一次編譯終身受用。這樣就免於程式每次執行時,都要重新編譯的麻煩了,系統的執行效率被大大提高。

安卓art模式的好處,用過的來回答下。有沒有什麼問題

4樓:小傻

art模式英文全稱為:android runtime,谷歌android 4.4系統新增的一種應用執行模式,與傳統的dalvik模式不同,art模式可以實現更為流暢的安卓系統體驗,對於大家來說,只要明白art模式可讓系統體驗更加流暢。

art模式安裝應用所佔的rom空間比dalvik模式多了接近一倍。

art模式通過在安裝應用程式時,自動對程式進行**預讀取編譯,讓程式直接編譯成機器語言,免去了dalvik模式要時時轉換**,實現高效率、省電、佔用更低的系統記憶體、手機執行流暢。

5樓:兒童椅很好玩

在art模式下,系統體驗到底有什麼不同。要開啟art模式操作比較簡單,首先是開啟android系統的開發者選項,具體開啟方式同android 4.3的一樣,同樣是連續

點選7次版本號即可。接著進入開發者模式,在「選擇執行環境中」將執行模式由預設的dalvik的修改為「使用art」,切換成功以後系統會自動重啟並且自動更新系統,更新

系統是因為系統程式也需要重新編譯。切換模式後最明顯的變化就是安裝程式的空間明顯增加,這是因為程式將編譯後的機器語言會一同儲存在手機中。還有乙個變化

就是運存的佔用率明顯降低了,這是因為開機後的系統程式已經不再需要虛擬機器進行重新編譯。而且最讓我們欣喜的是,在art模式下系統的流暢度有非常大的提公升,不

管是滑動介面還是執行程式,整個系統的流暢度已經達到了如絲般順滑的地步,與ios系統不相上下,注意這裡說的如絲順滑毫不誇張。

6樓:amd百夫長

理論上系統比原來流暢一點,不過我沒感受到,但是有些軟體不相容,會出現閃退

安卓art模式應用為什麼變得那麼大?art除了啟動執行快還有什麼好處? 50

7樓:叼拿媽公升

art模式是適合老人用的,就等於乙個簡易模式,一般人用不到,好處就是:字大,圖示大,執行速度快了點,其他沒有好處了

8樓:步步驚情

還可以得到更大的許可權,刪除你不需要的軟體,增大手機記憶體

安卓art模式是什麼

9樓:老長征碩雪

art模式最大bai的作用就是提du公升了安卓系zhi統流暢度,相比dalvik模式dao中出現的耗

版電快、佔用記憶體大、即使是權旗艦機用久了也會卡頓嚴重等現象,art模式中這種問題得到了很好的解決,通過在安裝應用程式時,自動對程式進行**預讀取編譯,讓程式直接編譯成機器語言,免去了dalvik模式要時時轉換**,實現高效率、省電、佔用更低的系統記憶體、手機執行流暢。之前谷歌宣稱,安卓4.4執行記憶體僅有512m

ram即可流暢執行,也就是說,一些老款低配機也可以流暢執行android

4.4系統,從側面也可以看出art模式對於提公升系統流暢度還是非常有幫助的。

滿意請採納

Android 中的ADT是什麼的縮寫?

ecplise 裡的外掛程式,安卓開發工具外掛程式。布置開發環境時為了方便在ecplise裡開發android程式而裝的外掛程式。蛋碎嗎?你自己都寫出來了。你已經知道了呀,暈,安卓開發工具。androidadt是做什麼用的?android開發工具 adt 是乙個用於eclipseide的外掛程式,旨...

請問一下,這是什麼Android版本

cyanogenmod 發音 sigh an oh jen mod。簡稱cm cyanogen團隊是目前全球最大的android第三方編譯團隊,其釋出的android 2.1核心cm5系列rom被廣泛使用,促進了使用者從android 1.6到android 2.1版本的第三方公升級。這個小組曾經先...

東筆順怎麼寫,東字的筆順是什麼

東字的筆順 橫 撇折 豎鉤 撇 點。東拼音d ng 1 方向,太陽出公升的一邊,與 西 相對 東方。2 主人 古代主位在東,賓位在西 房東。3 姓。1 資東 z d ng 舊時商店 企業的所有者。2 東瑟 d ng s 趙王與秦王會澠池。3 東塾 d ng sh 古代稱東側的廳堂。4 東壚 d ng...