【发布时间】:2025-11-25 13:55:02
【问题描述】:
我的 apk 是 13MB,安装时占用空间是 25MB。但是,在进行了一些更改(添加库、创建模块和更好地组织应用程序)之后,apk 大小增加到 14MB,而 odex 文件现在是 56MB。有什么方法可以确定大小增加的原因吗?
我有一个根设备。因此,如果有的话,我也可以使用比传统方法更多的方法。我检查了几个博客和论坛。都解释了 odex-ing 和 deodex-ing 相关的功能。
EDIT:odex 文件的大小随时间增加。 (现在 25MB 到 81MB)。
This SO Q/A 解释了什么是 odex,但我找不到任何地方解释 odex 文件(因为没有更好的词)增长。
一种可能的选择是,当使用应用程序的资源时,应用程序 odex 文件会生成更多引用以保持启动时间恒定/更快?
编辑 2:因为很多人通过建议我检查我的库/依赖项并减少它们来回答这个问题。
我想强调观察。
在应用程序的接下来的几次启动中安装后文件大小会增加。如果是因为添加库,APK 大小会增加,这是完全可以理解的。其余文件(.db,共享首选项等)的大小会增加,即预期的。
我无法弄清楚为什么 .odex 在安装后会增加,并且每次启动后都会增加。这种大小的增加仅适用于 .odex 文件。
我已经检查了这些文件,因为我使用的是 root 设备。
【问题讨论】:
-
尝试反编译这两个 apk 并检查它们的大小增加
-
做到了。就像我说的 apk 大小是一样的。通过反编译,classes.jar 的大小也相似。它只是大小不同的 .odex 文件
-
您使用的是哪个设备和 Android 版本?随着时间的推移,增长如何演变?它是否继续,是否有稳定?
-
普通的第三方应用没有odex文件。您如何获得应用程序的大小?来自设置?
-
@cuihtlauac 不,它在 3~4 次应用程序启动后达到最大值。基于此,我可以(毫无根据地)得出结论,这是一种索引功能?
标签: android