App在不同设备类型上的安装大小相同

时间:2015-09-16 13:11:45

标签: android resources apk storage filesize

当我在我的主/新手机上安装我的应用程序时,安装的大小约为18.5MB 当我在旧的三星Galaxy Ace(Mk1)上安装我的应用程序时,出于某种原因,它的安装尺寸几乎相同,如您所见:

enter image description here

它在我的主手机上完美运行,但显然,旧的Galaxy Ace真的很难用它。

现在,我从Play商店下载一个随机游戏,你可以在这里看到结果:

enter image description here

更好的是,它在功能较弱的手机上占用的空间比在功能更强的手机上占用的空间更小。

但是,我的问题是,我在哪里可以开始尝试找出为什么我的应用没有表现出这种期望的行为?

有关我的项目的信息

我在项目中提供了4套图形,它们是:

图形

  • XHDPI:总计3.73MB
  • HDPI:总计2.87MB
  • MDPI:总计1.33MB
  • LDPI:总计1.03MB

声音

  • OGG声音文件:202KB
  • MP3原声带:5.6MB

(未签名和签名)APK文件大约是16.02MB

除此之外,APK中有一个大约3.5MB的classes.dex文件。

在Eclipse中,我链接了BaseGameUtils和Google-play-service-lib jar文件。

我知道我的游戏比我下载的其他游戏稍微耗费资源 - 但这不是这个问题的重点。我需要确保已安装的应用程序的尺寸在功能较小的手机上比在更好的手机上更小。但正如你所看到的那样,我的完全相同。

任何帮助都将不胜感激。

修改

如果有帮助的其他信息:

三星Galaxy Ace正在运行Android 2.3.4 Gingerbread

另一部手机正在运行Android 4.4.2 Kit Kat

2 个答案:

答案 0 :(得分:6)

答案就是图片..你看到Android应用程序可以指定应该安装应用程序的位置,无论是内部还是外部 - 您可以在Android清单文件中执行此操作

android:installLocation="auto"

从设置屏幕截图中查看您的应用程序,您没有在清单中指定该元素,因此“move_to_sdCard按钮”处于非活动状态。 Y 我们的应用安装在内存中

来到其他应用程序,查看屏幕截图,您会看到“move_to_phone按钮”处于活动状态,因为他们指定了该功能,因为您的设备上没有足够的空间,它会自动将您的应用安装在内部 - 外部内存或严格的外部存储器.. 但是当设置该功能时,并非所有资源或文件都安装在内部 - 外部存储器上,它们是共享的,因此在进程中调整大小以便输出。

说到你的应用程序滞后,你需要深入挖掘你的代码。更新的apis包含旧的apis所没有的功能,因此你需要重新评估你选择的代码种类。

希望我足够清醒

答案 1 :(得分:1)

可能“其他应用”正在使用Multiple APK技术在Play商店中发布应用。使用此功能,您可以构建和部署多个apk,每个apk都针对特定的设备密度屏幕。通过这种方式,您可以减少apk维度,因为每个apk只有他的目标的资源,Play Store会自动提供正确的资源。