为啥我的应用程序在设备上的大小与 APK 或 Play 商店的大小不同

Posted

技术标签:

【中文标题】为啥我的应用程序在设备上的大小与 APK 或 Play 商店的大小不同【英文标题】:Why does my app size on device differ than the APK or Play store size为什么我的应用程序在设备上的大小与 APK 或 Play 商店的大小不同 【发布时间】:2013-01-02 18:23:37 【问题描述】:

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

【问题讨论】:

有一次我打开系统文件夹,看到每个 apk 文件附近都有一个 dex 文件。也许它是某种相关的。 它在 Play 商店中显示两倍大小。这是一个常规过程 【参考方案1】:

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

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

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

【讨论】:

如何减小 DEX 文件的大小?【参考方案2】:

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

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

【讨论】:

以上是关于为啥我的应用程序在设备上的大小与 APK 或 Play 商店的大小不同的主要内容,如果未能解决你的问题,请参考以下文章

为啥颤振 apk 文件大小要大一些

为啥我的 Nativescript-vue 发布 apk 出现错误

应用程序在连接的真实设备上工作,但不是 APK

为啥 Kivy apk 在 android 设备上启动 apk 后立即崩溃

为啥我无法将调试器附加到已签名的 apk 进程?

为啥apk的大小这么小?