13

我有一个来自用户的非常有效的问题,我无法深入了解为什么 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 倍大。很高兴知道它可能不是我正在做的事情,但仍然很好奇这里的推理是什么,因为它被用户指责“篡改”安装大小显得更小令人沮丧!

4

2 回答 2

16

在android系统中安装APK时,安装的是DEX文件。其中包含编译为二进制文件的代码、资源等。您的 dex 通常与您的 apk 大小相同,除非您有未在资产中编译的资源。

好吧,我们都知道。没有广泛传播的是android也保存了你原来的apk。也许是为了在出现错误或其他原因时重新安装。

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

于 2013-01-23T20:04:09.863 回答
0

它就像所有其他软件应用程序一样,最初将被压缩并作为单个文件进行安装,并且在安装时,它将提取手机中的所有文件(代码、资产,即图像等)。这就是为什么您的应用在安装到手机后会占用更多内存的原因。

为了防止这种情况发生,请将您的应用程序设置为服务器端并请求 Internet 的强制许可,以便您可以发送数据而不会为应用程序消耗更多内存。

于 2017-08-19T11:24:10.370 回答