为什么设备上的应用尺寸与APK或Play商店尺寸不同?

我有一个非常有用的问题,我无法理解为什么Google Play商店中报告的尺寸与设备上报告的尺寸不同。 我的电脑上签署的APK大小是3.8MB。 上传到Google Play会显示相似的尺寸。 查看设备上的应用程序pipe理器,但显示以下统计信息:

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

这不是用Google Play启用的版权保护(因为其他类似的问题sugget),因为我得到相同的统计安装签名的APK或开发APK。

在/ data / app下的电话APK又是3.8MB,而/data/data/com.my.app下的文件又来了100KB左右(可能是上面的'Data'行)。

什么导致了统计差异?

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

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

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

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

它就像其他软件应用程序一样,将被压缩成一个单独的文件进行安装,并在安装后,将提取手机中的所有文件(代码,资源,即图像等)。 这就是为什么你的应用程序将被安装在手机后更多的内存。

为了防止这种情况,使您的应用程序的服务器端,并要求对互联网的强制许可,以便您可以发送的数据,而不消耗更多的应用程序的内存。