android - 为什么我的应用在设备上的大小与 APK 或 Play 商店的大小不同

标签 android size apk

我有一个用户提出的非常有效的问题,我无法深入了解为什么 Google Play 商店报告的尺寸与设备上报告的尺寸不同。我在 PC 上签名的发行版 APK 大小为 3.8MB。上传到 Google Play 显示相似的尺寸。然而,查看设备上的应用程序管理器会显示以下统计信息:

Total: 6.62MB
App:   6.51MB
Data:   112KB

这与 Google Play 启用的复制保护无关(正如其他类似问题所暗示的那样),因为我在安装签名 APK 或开发 APK 时获得了相同的统计信息。

手机上/data/app 下的 APK 又是 3.8MB,而/data/data/com.my.app 下的文件又增加了 100KB 左右(大概是上面的“数据”行)。

是什么导致了统计数据的差异?

编辑:进一步研究,这是我设备上许多应用程序的共同特征。 Google Play 报告一种尺寸,而设备报告的尺寸通常大 2 倍。很高兴知道这可能不是我正在做的事情,但仍然很好奇这里的推理是什么,因为被用户指责“篡改”安装大小看起来更小令人沮丧!

最佳答案

在android系统中安装APK时,安装的是DEX文件。其中包含编译为二进制文件的代码、资源等。你的 dex 通常和你的 apk 一样大,除非你有没有编译在 assets 中的资源。

嗯,我们都知道。没有广泛传播的是 android 也保存了您的原始 apk。可能是为了在出现错误或其他原因时重新安装。

这就是为什么我们的应用程序的内存量是系统的两倍。它是原始 apk 和安装的 dex 的大小之和。

关于android - 为什么我的应用在设备上的大小与 APK 或 Play 商店的大小不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14409139/

相关文章:

Android:无法解析 Galaxy 选项卡中的包

java - gson - 数组的长值变成浮点值

android - 为什么我不能用 Titanium 创建基本窗口?

c# - 为什么大家都用2^n个数来分配呢? -> 新的 StringBuilder(256)

c - 知道c中数组的大小

java - 在微调器上调整文本大小

android - 使用 OpenCV 访问移动立体相机

Android - 在运行时动态更改 SQLite 数据库中的列类型

android - 为什么我的 APP 不支持三星 Galaxy Note 3

android - APK 包中的 .properties 文件的用途是什么?