AndroidDev 板


LINE

※ 引述《gn00618777 (非常念舊)》之銘言: : ※ 引述《gn00618777 (非常念舊)》之銘言: : : 我查詢了網路上以及書本 : : 版本1: JIT是將source code 轉換成 byte code之後,在程式執行期間 : : 再將byte code編譯成機械碼。 : : 版本2: 擁有JIT表示Dalvik將APP的byte code轉換成二進制組合指令,那將 : : 以原生方式執行在目標的CPU上,而不是由VM一次解譯一條指令。 : : 這兩者,哪種比較對阿.....版本1說得好像就是執行期間,需要才編譯成機械碼。 : : 這和版本2是直接說"不是由VM一次解譯一條指令"好像有點抵觸,希望能為我解惑, : : 謝謝。版本2出自於O'REILY翻譯的書,我個人覺得翻譯的好爛,前因後果要自己兜起來。 : 我還是不太懂版本二.. : "不是由VM一次解譯一條指令",意思是說不是在執行中需要才編譯? : 是說JIT已經在執行前將APP byte code編譯成機械碼了嗎?這樣在執行前 : 是不是不用佔用CPU來編譯比較省電? : 這是我的理解,希望有神人為我補充...謝謝。 .dex檔是我們製作完app後打包進apk的東西 它基本上是java .class檔的變形 為行動裝置做過優化的一種byte code 是platform independent的 而在Android 2.2 Froyo之前完全沒有JIT compiler的時候 dalvik vm 做的事就跟java vm 做的差不多 就是直譯這些byte code 在有JIT之後 dalvik 每直譯一條指令 會統計這條指令被直譯的次數 如果次數多到超過門檻 就會把它編譯成native code 也就是platform dependent的機器碼了 它這種不是一次把整份byte code編成native code 因此叫做JIT(just-in-time) 而最近幾年推出的Android ART就不是用JIT而是用AOT(ahead-of-time) 顧名思義就是在執行之前 就會把整份byte code編譯成native code 而且跟JIT不同 它會把native code存成一個檔案 雖然編玩的native code你用file指令下去看它會告訴你是一個ELF可執行檔 但我上次把它dump出來看 基本上裡面的區段都是android專用的 不可能獨立執行 基本上下一個正式版本的android(沒意外的話是今年秋天)就會把dalvik完全拿掉了 全換成ART 但就算是目前潮的滴水的Android L 內部runtime的轉換仍屬於陣痛期 例如編好的native code副檔名仍叫.dex 還有就是用過Android L的朋友都知道 有用JNI且比較複雜的app幾乎爆光光 因為ART對於JNI的檢查特別嚴格 有些dalvik可以過的ART都不能 其實google很早就在官網說了 但就算Unity3D如此大公司都沒有落實 用unity3d當引擎的遊戲一開就閃退 糟了我是不是說很多不相關的事XD 希望有解答原po的疑問 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.175.232
※ 文章網址: http://webptt.com/m.aspx?n=bbs/AndroidDev/M.1407806575.A.9B0.html
1F:推 Y78: 推 08/12 10:50
2F:推 kewang: 這篇好文推! 08/12 13:14
3F:推 lovelycateye: 你知道的太多了... 08/12 14:53
4F:推 gn00618777: 推 太棒的文章了 08/12 15:11
5F:推 tac0wu: 感謝分享 08/13 00:51
6F:推 summerleaves: 感謝分享 08/13 19:57







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP