摘要:在應(yīng)用安裝時(shí)就預(yù)編譯字節(jié)碼到機(jī)器語(yǔ)言,在移除解釋代碼這一過(guò)程后,應(yīng)用程序執(zhí)行將更有效率,啟動(dòng)更快。區(qū)別在應(yīng)用程序啟動(dòng)時(shí),通過(guò)進(jìn)行連續(xù)的性能分析來(lái)優(yōu)化程序代碼的執(zhí)行,在程序運(yùn)行的過(guò)程中,虛擬機(jī)在不斷的進(jìn)行將字節(jié)碼編譯成機(jī)器碼的工作。
參考:Dalvik與ART的區(qū)別
什么是DalvikDalvik是Google公司自己設(shè)計(jì)用于Android平臺(tái)的Java虛擬機(jī)。dex格式是專為Dalvik應(yīng)用設(shè)計(jì)的一種壓縮格。Dalvik允許同時(shí)運(yùn)行多個(gè)虛擬機(jī)的實(shí)例,并且每一個(gè)應(yīng)用作為獨(dú)立的Linux進(jìn)程執(zhí)行。
目前在Android4.4及其以下的版本中,應(yīng)該全都是使用的Dalvik這種模式。
什么是ART:在Dalvik下,應(yīng)用每次運(yùn)行都需要通過(guò)即時(shí)編譯器(JIT)將字節(jié)碼轉(zhuǎn)換為機(jī)器碼,即每次都要編譯加運(yùn)行,這一機(jī)制并不高效,但讓?xiě)?yīng)用安裝比較快。
ART在應(yīng)用安裝時(shí)就預(yù)編譯字節(jié)碼到機(jī)器語(yǔ)言,在移除解釋代碼這一過(guò)程后,應(yīng)用程序執(zhí)行將更有效率,啟動(dòng)更快。
區(qū)別:Dalvik在應(yīng)用程序啟動(dòng)時(shí),JIT通過(guò)進(jìn)行連續(xù)的性能分析來(lái)優(yōu)化程序代碼的執(zhí)行,在程序運(yùn)行的過(guò)程中,Dalvik虛擬機(jī)在不斷的進(jìn)行將字節(jié)碼編譯成機(jī)器碼的工作。
ART引入了AOT這種預(yù)編譯技術(shù),在應(yīng)用程序安裝的過(guò)程中,ART就已經(jīng)將所有的字節(jié)碼重新編譯成了機(jī)器碼。應(yīng)用程序運(yùn)行過(guò)程中無(wú)需進(jìn)行實(shí)時(shí)的編譯工作,只需要進(jìn)行直接調(diào)用.因此,ART極大的提高了應(yīng)用程序的運(yùn)行效率,同時(shí)也減少了手機(jī)的電量消耗,提高了移動(dòng)設(shè)備的續(xù)航能力,在垃圾回收等機(jī)制上也有了較大的提升。
相對(duì)于Dalvik虛擬機(jī)模式,ART模式下Android應(yīng)用程序的安裝需要消耗更多的時(shí)間,同時(shí)也會(huì)占用更大的儲(chǔ)存空間(指內(nèi)部?jī)?chǔ)存,用于儲(chǔ)存編譯后的代碼),但節(jié)省了很多Dalvik虛擬機(jī)用于實(shí)時(shí)編譯的時(shí)間
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70105.html
摘要:不過(guò)它確實(shí)各方面都做了大量的優(yōu)化,本文中的很多知識(shí)點(diǎn)也來(lái)源于阿里的熱修復(fù)技術(shù)原理一書(shū),本書(shū)值得一讀,里面就是基于框架來(lái)編排的。 前言;本文框架什么是熱修復(fù)?熱修復(fù)框架分類技術(shù)原理及特點(diǎn)Tinker框架解析各框架對(duì)比圖總結(jié)通過(guò)閱讀本文,你會(huì)對(duì)熱修復(fù)技術(shù)有更深的認(rèn)知,本文會(huì)列出各類框架的優(yōu)缺點(diǎn)以及技術(shù)原理,文章末尾簡(jiǎn)單描述一下Tinker的框架結(jié)構(gòu)。 一、什么是熱修復(fù)?1.正常開(kāi)發(fā)流程showI...
閱讀 1191·2023-04-26 02:38
閱讀 1483·2021-11-22 09:34
閱讀 1191·2021-09-26 10:19
閱讀 3180·2019-08-29 17:15
閱讀 3532·2019-08-29 12:27
閱讀 1722·2019-08-26 13:51
閱讀 1869·2019-08-26 13:47
閱讀 1020·2019-08-26 12:20