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