什么是Odex
Odex是安卓上的应用程序apk中提取出来的可运行文件,是通过apk安装包的中的dex优化过的,再把apk包里的dex文件删除。这样做可以加快软件的启动速度,预先提取,减少对RAM的占用。没有odex的话,系统要从apk包中提取dex再运行。
什么是dalvik-cache?
当Android启动时,DalvikVM监视所有的程序(APK文件)和框架,并且为他们创建一个依存关系树。DalvikVM通过这个依存关系树来为每个程序优化代码并存储在Dalvik缓存中。这样,所有程序在运行时都会使用优化过的代码。这就是ROM第一次启动时间比较长的原因。当一个程序(或者框架库)发生变更,DalvikVM将会重新优化代码并且再次将其存在缓存中。cache/dalvik-cache是存放system上的程序生成的dex文件,而data/dalvik-cache则是存放data/app生成的dex文件。
所谓Odex化,是将由android软件中的classes.dex生成的文件预先提取出来,作用是能加快软件加载速度和开机速度。不过Odex也有缺点,那就是有时候加刷东西会出现问题。简单说,原本系统每次执行APK都需要先提取一部分出来,而Odex化就是提前把它提取出来了,系统启动或者程序运行加快的原因也就在此。由于提取Odex会占用一部分存储空间,所以做Odex化的时候需要考虑空间方面的问题。
Odex的效果
Odex化后系统启动和程序运行速度大大提高,稳定性不变。因此推荐做Odex化。
一般来说官方rom都是odex化的rom(含Odex文件),而定制rom大部分都是deodex化的