Answers:
一个.dex
文件基本上是已建成的Dalvik虚拟机的Android的应用程序上运行的应用程序的编译的字节代码的版本。我相信Dalvik Executable的缩写,但我不确定是否能正确记住。
一个.odex
文件是一个优化的.dex
文件(因此的“o”),这意味着它已经基本预编译为特定平台。这样做的好处是启动时间要快得多,因为VM不必在启动/运行时执行任何优化。缺点是1)占用了一些额外的空间,并且2)如果将odexed应用程序放置到另一台设备上,它将无法正常运行,并且它必须具有关联的.odex
文件才能完全运行。
ROM通常以脱胶形式发行,因为它们可以很容易地进行主题化和修改,而主题化/修改脱胶ROM基本上是不可能的(充其量会崩溃,就像疯了一样)。有些人还选择了以odex版本发布ROM,以供那些希望获得性能提升的人们使用。
我认为,我所见过的大多数库存ROM都是经过odex处理的,因为运营商/制造商希望提高性能。他们也没有任何官方的主题方法,因此他们可能不在乎您是否无法更改状态图标或系统文本的颜色。另外,他们的优势是知道他们希望系统在什么设备上运行,因此.odex
我想他们可以非常轻松地预编译文件。另外,它很难将.apk
文件从设备中提取出来并与他人共享。
编辑:由于我刚刚意识到我对这里的区别不是很明确-“预装” ROM是一种已经预编译了应用程序的ROM,因此包含.odex
文件外部的关联.apk
文件。“脱机” ROM是其中.odex
文件中将要优化的数据或多或少地重新合并到.apk
文件中的ROM (这意味着它不是经过优化的,但基本上与平台无关),因此.apk
文件是独立的,没有.odex
文件。通常仅使用deodexing实用程序(例如smali / baksmali)完成此操作。
我个人想在不久前知道答案。这是我想出的:
Odexed和Deodexed
应该将标准ROM删除后才能发布,从而可以更平稳,更快地将应用程序加载到内存中。每个.apk都有一个对应的.odex。当系统或用户使用该应用程序时,.odex用于开始加载该应用程序。进行去磁的ROM仅具有.apk文件。当仅从应用程序的.apk中提取数据而将其调用到内存中时,由于未进行优化以方便从系统中检索数据,因此此过程花费的时间更长。
我经常被问到的常见问题是:
要回答这些问题,可以归结为一个词,即易用性。如果您与以ROM为主题的任何人交谈,他们会告诉您,以脱氧ROM为主题非常容易。自从我们开始使用脱氧ROM以来,这些人现在可以创建主题以应用于ROM,而不必为ROM本身设置主题的繁琐选项(发布主题的自定义ROM)。如果您使用的是odexed ROM并尝试应用主题,则它将无法正常工作,或者仅在某些视觉方面使主题生效,这将给您带来糟糕的用户界面。
Deodex缺点
我敢打赌,您现在想知道为什么……为什么甚至还可以选择下载经过odex处理的自定义ROM?答案就是速度。还记得我曾经说过优化了odex文件以便于检索吗?简而言之……它已经过优化(例如为数据表建立索引),因此系统可以更快地打开.apk。
Deodex和zipalign
在脱胶趋势开始达到顶峰之后,每个人都如此迅速地希望两全其美,这些精明的ROM开发人员提出了一种在启动时zipalign的解决方案。这样可以在每次重新启动时优化每个.apk,从而使系统可以更有效地访问应用程序,最重要的是,可以更快地访问应用程序。当然,缺点是启动时间稍慢。
摘要
如果您可以选择下载经过去磁或去磁的定制ROM,那么我会选择去磁ROM。您永远不知道什么时候想要自己尝试一个主题或进行一些修改,并且很容易拥有简单的选项,而不是刷新整个ROM。对于较新的设备,您甚至可能看不到引导时zipalign的明显差异。如果您的设备运行缓慢且过时,那么我建议您考虑一下。我敢打赌,你们中的某些人宁愿获得一个不错的最小优化(除氧化物)的ROM,以实现比自定义用户界面更好的性能和速度。
如果您是新手,可以在以下原始文章中找到一些常用术语:http : //codeversed.com/deodexed-vs-odexed-rom
否则,以上内容将向您显示您需要了解的所有内容。如果我错过了任何事情,请告诉我:)
.dex(dalvik可执行文件)文件基本上与Windows的.exe文件类似(Dalvik VM的语言除外,而不是已编译的代码)。基本上,.odex(优化的dalvik可执行文件)和deodex(优化的dalvik可执行文件)与如何在应用程序中处理资源文件有关。.odex是已由dexopt程序优化的.dex文件:http : //www.netmite.com/android/mydroid/dalvik/docs/dexopt.html
优点
坏处