android ODEX

转自:http://baike.baidu.com/view/7784265.htm?fr=aladdin


ODEX是 安卓上的 应用程序 apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·dex文件单独存放,原APK中的classes.dex文件会保留。

1定义编辑

ODEX是 安卓上的 应用程序 apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个.odex文件单独存放,原APK中的classes.dex文件会保留。
这样做可以加快 软件启动速度,预先提取,减少对 RAM的占用,因为没有o dex的话,系统要从 apk包中提取dex再运行。

2作用编辑

所谓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的体积了。

3效果编辑

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 (简单地来说,其实就上一个合并的过程)

4优点编辑

1.刷完机首次进入系统的时间会缩短一些。文件的运行速度应该也有所提升。
2.APK文件不能单独安装,并且如果反编译APK文件,一般也只能得到资源文件。可以说是起到一定的保护作用,避免被肆意修改和使用。这样做可以使其厂商保证一定的反盗版,因为没有 dex文件的 apk是无法正常安装的。
3.会增加一些可安装应用的空间,虽然不是很多。
4.某些机身内存太小的手机优化的时候可以删除dex文件来达到制作大内存包的目的,但是这种大内存包会使手机软件启动速度变慢。适合不追求速度,需要更多内存装软件的用户。

5缺点编辑

1.不方便修改ROM以及文件本身。
2.增加ROM包的体积,虽然不是很多。
3.当你升级某个被O dex的应用后,这个应用将会出现故障,最常见的就是FC(在 android系统里,运行程序的时候弹出一个对话框,强制关闭)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值