Dalvik的JIT與ART的AOT介紹

原文鏈接:https://blog.csdn.net/liangtianmeng/article/details/82454589

JIT:全稱Just in time即時編譯,Dalvik VM采用的就是這種編譯,我們知道apk被安裝到手機中時,對應目錄會有dex或odex和apk文件,apk文件存儲的是資源文件,而dex或odex(經(jīng)過優(yōu)化后的dex文件內(nèi)部存儲class文件)內(nèi)部存儲class文件,每次運行app時虛擬機會將dex文件解釋翻譯成機器碼,這樣才算是本地可執(zhí)行代碼,之后被系統(tǒng)運行。

AOT:全稱Ahead of time預編譯,ART(andorid runtime)與Dalvik不同在于,它在安裝apk的同時將字節(jié)碼dex解釋成了機器碼,也就是安裝完成就生成了本地可執(zhí)行機器碼,這樣app啟動及運行速度就會快很多。

Dalvik與Art的區(qū)別:

Dalvik每次都要編譯再運行,Art只會安裝時啟動編譯
Art占用空間比Dalvik大(原生代碼占用的存儲空間更大),就是用“空間換時間”
Art減少編譯,減少了CPU使用頻率,使用明顯改善電池續(xù)航
Art應用啟動更快、運行更快、體驗更流暢、觸感反饋更及時

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

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

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