为啥我的应用程序在设备上的大小与 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 商店的大小不同的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Nativescript-vue 发布 apk 出现错误