馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
本帖最後由 zelda 於 2013-6-22 12:12 編輯
如果有去XDA看文章的新手可能會看不懂什麼叫ODEX和DEODEX
沒錯,查字典也不會找到
以下來容轉自百度百科
http://baike.baidu.com/view/7784265.htm
簡單來來,ODEX是官方ROM,DEODEX是定制ROM
順帶一提
DEODEX ROM刷了ODEX的東西會開不到機
要刷回DEODEX的東西
ODEX
定義
ODEX是安卓上的應用程序apk中提取出來的可運行文件,即將APK中的classes.dex文件通過dex優化過程將其優化生成一個.dex文件單獨存放,原APK中的classes.dex文件會保留。
這樣做可以加快軟件的啟動速度,預先提取,減少對RAM的佔用,因為沒有o dex的話,系統要從apk包中提取dex再運行。
作用
所謂O dex,是由android 軟件中的classes.dex生成的,Odex化即是把那個文件預先提取出來作用是能加快軟件加載速度和開機速度。不過O dex也有缺點,那就是有時候加刷東西會出現問題。
看懂了嗎?用我的理解,簡單說,原本系統恢復出廠設置後第一次開機需要先提取classes.dex出來,而O dex化就是現在你提前把它提取出來了。系統啟動或者程序運行加快的原因也就在此。並且將dex變為odex還可以節省空間,因為提取後可以把apk內的dex刪除。如果不odex,那麼系統還是會自動提取dex,這時不僅apk內有dex,/data/dalvik-cache目錄下也有dex,雖然apk內的dex經過壓縮了,但是兩份dex的總體積已經大於一份odex的體積了。
效果
O dex化後系統啟動和程序運行速度大大提高,穩定性不變。因此推薦做O dex化。
一般來說官方rom都是o dex化的rom(含Odex文件),而定制rom大部分都是deodex化的(無odex文件)。兩者應該各有優點吧,貌似現在也沒有統一的說法。官方rom大部分每個apk對應一個.o dex文件,而deodex化的rom裡面只有一個apk,把.odex轉換成classes.dex放到apk包裡面了。所以o dex rom的. apk +.odex=deodex化rom的1個.apk (簡單地來說,其實就上一個合併的過程)
優點
1.刷完機首次進入系統的時間會縮短一些。文件的運行速度應該也有所提升。
2.APK文件不能單獨安裝,並且如果反編譯APK文件,一般也只能得到資源文件。可以說是起到一定的保護作用,避免被肆意修改和使用。這樣做可以使其廠商保證一定的反盜版,因為沒有dex文件的apk是無法正常安裝的。
3.會增加一些可安裝應用的空間,雖然不是很多。
4.某些機身內存太小的手機優化的時候可以刪除dex文件來達到製作大內存包的目的,但是這種大內存包會使手機軟件啟動速度變慢。適合不追求速度,需要更多內存裝軟件的用戶。
缺點
1.不方便修改ROM以及文件本身。
2.增加ROM包的體積,雖然不是很多。
3.當你升級某個被O dex的應用後,這個應用將會出現故障,最常見的就是FC(在android系統裡,運行程序的時候彈出一個對話框,強制關閉)。
|