4

我看到了很多这样的问题并阅读了很多文档,但我仍然不确定什么是正确的方法。我有一个包含 500 张照片的应用程序,首先我的做法是将每张照片缩放 5 倍,以适应每个 ldpi、mdpi、hdpi、xhdpi 和 xxhdpi 的像素大小。但是,在这样做之后,应用程序变得比它应有的大得多,而且由于您只能将 50MB 的 .apk 上传到市场,我发现自己陷入了陷阱。

我找到了几个可以在这里制作的选项,但不确定哪个是正确的:

  • 在设备上为每个这种密度制作多个布局,并在其中使用不同的 dp 进行缩放
  • 制作多个 .apk 文件,每个文件都适用于具有不同密度的每个设备(不过,Google 正在强调这个选项,只有在你真的无法做到的情况下才能制作它 - 为什么会这样?这对我来说是完美的,因为我已经为每个密度准备了照片)
  • 制作多张图片并将其放在一个 .apk 中 - 这对我不起作用,因为 .apk 太大了
  • 制作适合 MDPI 设备的图片,将它们放在“可绘制”中,它们会自动为其他设备调整大小,而对于较小密度的设备,它们会自动调整大小 - 这会产生问题,因为图片在从 MDPI 调整到其他更大的 dpi 设备时,图片模糊。

所以,无论如何,处理这个问题的正确方法是遵循第一个选项,对吗?我应该只拍 xxhdpi 图片(所以它们总是从最好的图片缩放),把它们放到 drawable-nodpi 中?但是,我在 ImageButtons 上进行缩放时遇到了一些问题。请告诉我如何正确地制作它。

4

3 回答 3

1

我的做法是只使用一个 apk 来保持应用程序简单、易于开发和发布。

只使用一个drawable,越高越好。这取决于您(市场)可以承受的最终 apk 大小。

可能这个问题会有所帮助:

仅在 Android 应用程序中使用 XHDPI 可绘制对象?

于 2013-09-25T11:39:14.630 回答
0

我不知道,但这可以作为应用程序的更新来完成。你下载了一个普通的应用程序,它会提示用户升级,或者只是自动升级。听起来谷歌需要改进。当我下载一个应用程序时,我只需要一个应用程序一个语言一个设备。听起来像微软的心态

于 2013-09-25T22:52:55.077 回答
0

Loki的答案的补充。您可以解决在为图像制作缓存文件夹的小型设备上性能不佳的问题。设备第一次加载时缩小图片,根据设备的密度,保存到缓存文件夹,下次使用缓存的图片。

如果您在后台以批处理方式进行此操作,将获得奖励!

于 2013-09-25T12:06:23.163 回答