[轉(zhuǎn)]ART和Dalvik區(qū)別

什么是Dalvik

Dalvik是Google公司自己設(shè)計(jì)用于Android平臺(tái)的Java虛擬機(jī)。Dalvik虛擬機(jī)是Google等廠商合作開(kāi)發(fā)的Android移動(dòng)設(shè)備平臺(tái)的核心組成部分之一,它可以支持已轉(zhuǎn)換為.dex(即Dalvik Executable)格式的Java應(yīng)用程序的運(yùn)行,.dex格式是專為Dalvik應(yīng)用設(shè)計(jì)的一種壓縮格式,適合內(nèi)存和處理器速度有限的系統(tǒng)。Dalvik經(jīng)過(guò)優(yōu)化,允許在有限的內(nèi)存中同時(shí)運(yùn)行多個(gè)虛擬機(jī)的實(shí)例,并且每一個(gè)Dalvik應(yīng)用作為獨(dú)立的Linux進(jìn)程執(zhí)行。獨(dú)立的進(jìn)程可以防止在虛擬機(jī)崩潰的時(shí)候所有程序都被關(guān)閉。

什么是ART

Android操作系統(tǒng)已經(jīng)成熟,Google的Android團(tuán)隊(duì)開(kāi)始將注意力轉(zhuǎn)向一些底層組件,其中之一是負(fù)責(zé)應(yīng)用程序運(yùn)行的Dalvik運(yùn)行時(shí)。Google開(kāi)發(fā)者已經(jīng)花了兩年時(shí)間開(kāi)發(fā)更快執(zhí)行效率更高更省電的替代ART運(yùn)行時(shí)。ART代表Android Runtime,其處理應(yīng)用程序執(zhí)行的方式完全不同于Dalvik,Dalvik是依靠一個(gè)Just-In-Time(JIT)編譯器去解釋字節(jié)碼。開(kāi)發(fā)者編譯后的應(yīng)用代碼需要通過(guò)一個(gè)解釋器在用戶的設(shè)備上運(yùn)行,這一機(jī)制并不高效,但讓應(yīng)用能更容易在不同硬件和架構(gòu)上運(yùn)行。ART則完全改變了這套做法,在應(yīng)用安裝的時(shí)候就預(yù)編譯字節(jié)碼到機(jī)器語(yǔ)言,這一機(jī)制叫Ahead-Of-Time(AOT)編譯。在移除解釋代碼這一過(guò)程后,應(yīng)用程序執(zhí)行將更有效率,啟動(dòng)更快。

ART優(yōu)點(diǎn):

1、系統(tǒng)性能的顯著提升。

2、應(yīng)用啟動(dòng)更快、運(yùn)行更快、體驗(yàn)更流暢、觸感反饋更及時(shí)。

3、更長(zhǎng)的電池續(xù)航能力。

4、支持更低的硬件。

ART缺點(diǎn):

1、更大的存儲(chǔ)空間占用,可能會(huì)增加10%-20%。

2、更長(zhǎng)的應(yīng)用安裝時(shí)間。


ART上應(yīng)用啟動(dòng)快,運(yùn)行快,但是耗費(fèi)更多存儲(chǔ)空間,安裝時(shí)間長(zhǎng),總的來(lái)說(shuō)ART的功效就是"空間換時(shí)間"。

https://blog.csdn.net/feelinghappy/article/details/76977717

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容