[转载] odex deodex

打开一个apk,里面有很多个文件夹和文件,一般在layout负责界面,value负责字体颜色和文字显示等。odex是整个apk的核心部分,负责功能实现,deodex就是把odex文件以classes.dex的形式和apk整合成一个文件。

一般来说官方rom都是odex的rom,而定制rom大部分都是deodex化的。两者应该各有优点吧,貌似现在也没有统一的说法。官方rom大部分每个apk对应一个.odex文件,而deodex化的rom里面只有一个apk,把.odex转换成classes.dex放到apk包里面了。所以 odex rom的.apk+.odex=deodex化rom的1个.apk (简单地来说,其实就上一个合并的过程)

ODEX的优点
1.刷完机首次进入系统的时间会缩短一些。文件的运行速度应该也有所提升。
2.APK文件不能单独安装,并且如果反编译APK文件,一般也只能得到资源文件。可以说是起到一定的保护作用,避免被肆意修改和使用。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的。
3.会增加一些可安装应用的空间,虽然不是很多。(这个我没发现)

ODEX的缺点
1.不方便修改ROM以及文件本身。
2.增加ROM包的体积,虽然不是很多。
3.当你升级某个被ODEX的应用后,这个应用将会出现故障,最常见的就是FC。

而现在的定制rom之所以基本上都是deodex化的是因为:
1. 可以适当减小文件的体积,起到节省rom空间的作用;
2.主要方便rom定制者对rom的个性化定制和移植;apk相对容易反编译和修改,而odex先要解包成smali然后才能生成classes.dex,如果要再生成odex,还要用dexopt-wrapper,比较麻烦。
我个人感觉,如果只是简单的使用,不美化,不经常修改system/app下的文件的人,对系统文件进行ODEX化,应该是能起到一定的优化作用的,而现在大部分的安装应用程序都是单个apk文件,升级也不会有FC的问题。

zipalign
在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效率。因此,这种方式能够让应用程序和整个系统运行得更快。在lAndroid中,当资源文件通过内存映射对齐到4字节边界时,访问资源文件的代码才是有效率的。zipalign 可以简单优化APP.

 

来源:

http://blog.sina.com.cn/s/blog_74721dbb0100vfa9.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值