Dalvik和Art,JIT ,AOT, oat, dex, odex

aot,oat,art...是不是有的時候傻傻分不清楚,該文章主要解釋dalvik, Art,JIT ,AOT, oat, dex, odex這些概念,已便于理解Android 應(yīng)用編譯和運行的過程及安裝過程。?

執(zhí)行環(huán)境dalvik, Art

dalvik這個大家肯定很熟悉 Dalvik是Google公司設(shè)計用于Android平臺的Java虛擬機?

Art是(Android runtime) 在Android系統(tǒng)4.4提出 在5.0之后完全棄用dalvik 全部采用art為執(zhí)行環(huán)境

在Dalvik下,應(yīng)用每次運行的時候笋轨,字節(jié)碼都需要通過即時編譯器(JIT)轉(zhuǎn)換為機器碼,這會拖慢應(yīng)用的運行效率,而在ART 環(huán)境中爵政,應(yīng)用在第一次安裝的時候仅讽,字節(jié)碼就會預(yù)先編譯成機器碼(這種機制稱為AOT) 這樣的話,應(yīng)用執(zhí)行變得更加快速钾挟。

編譯模式 JIT洁灵,AOT

上述提到的兩種編譯模式j(luò)it 和aot,可以理解為是一種編譯策略

?JIT (just in time)??運行時編譯?

AOT (Ahead-Of-Time) ??運行前編譯 Art的主要特征就是AOT

文件格式 oat dex和odex

dexDalvik Executable)格式是專門為Dalvik設(shè)計的一種壓縮格式等龙,

? ? ? ? (javac) ? ? ? ???(dx工具)

.java------>.class------->.dex

.java文件經(jīng)過javac編譯器生成.class字節(jié)碼 再經(jīng)過处渣。dx工具生成.dex

odex(optimized dex)即優(yōu)化的dex

對于在dalvik環(huán)境中 使用dexopt來對dex字節(jié)碼進行優(yōu)化 生成odex文件 最終存在手機的data/dalvik-cache目錄下

對于art環(huán)境,使用dex2oat工具來對dex字節(jié)碼生成oat文件

oat文件是art的核心蛛砰,oat文件包含oatdata和oatexec

前者包含dex文件內(nèi)容罐栈,后者包含生成的本地機器指令,進而可以直接運行,同樣保存在手機的data/dalvik-cache目錄下

PMS(PackgetManagerService)--->installd(守護進程)------>dex2oat(/system/bin/dex2oat)

注意存放在data/dalvik-cache目錄下的后綴名都仍為.dex 前者其實表示一個優(yōu)化過的.dex文件 后者為.oat文件

apk安裝過程

大家都知道 apk其實就是zip包 apk安裝過程其實就是解壓過程

用戶應(yīng)用安裝涉及以下幾個目錄

data/app 安裝目錄 安裝時會把apk文件copy到這里

data/dalvik-cache 如上述描述中的存放.dex(.odex 無論davilk的dex 還是art的oat格式)

data/data/pkg/ 存放應(yīng)用程序的數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泥畅,一起剝皮案震驚了整個濱河市荠诬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌位仁,老刑警劉巖柑贞,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異聂抢,居然都是意外死亡钧嘶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門琳疏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來有决,“玉大人,你說我怎么就攤上這事空盼∈槟唬” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵揽趾,是天一觀的道長台汇。 經(jīng)常有香客問我,道長篱瞎,這世上最難降的妖魔是什么苟呐? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮俐筋,結(jié)果婚禮上掠抬,老公的妹妹穿的比我還像新娘。我一直安慰自己校哎,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闷哆,像睡著了一般腰奋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上抱怔,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天劣坊,我揣著相機與錄音,去河邊找鬼屈留。 笑死局冰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灌危。 我是一名探鬼主播康二,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼勇蝙!你這毒婦竟也來了沫勿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤味混,失蹤者是張志新(化名)和其女友劉穎产雹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翁锡,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡蔓挖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了馆衔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘟判。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哈踱,靈堂內(nèi)的尸體忽然破棺而出荒适,到底是詐尸還是另有隱情,我是刑警寧澤开镣,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布刀诬,位于F島的核電站,受9級特大地震影響邪财,放射性物質(zhì)發(fā)生泄漏陕壹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一树埠、第九天 我趴在偏房一處隱蔽的房頂上張望糠馆。 院中可真熱鬧,春花似錦怎憋、人聲如沸又碌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毕匀。三九已至铸鹰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間皂岔,已是汗流浹背蹋笼。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留躁垛,地道東北人剖毯。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像教馆,于是被迫代替她去往敵國和親逊谋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容