3

我有一个 Android 应用程序,每个屏幕分辨率包含大约 150 个图标。

如果我把所有图标都放在所有 5 个主要分辨率(ldpi、mdpi、hdpi、xhdpi、xxhdpi)中,那么它将使图标总数达到 750。这有几个缺点:

  • 大APK大小
  • 将 dexguard 与 ant 构建脚本一起使用时构建过程缓慢。它对需要一些时间的图像进行一些处理。

或者,我可以仅在某些分辨率中放置图标。例如 ldpi 设备现在只有10% 的市场份额,并且在 Android 官方文档的某个地方他们说 Android 可以有效地从 hdpi 图标缩小 50% 到 ldpi。

现在,如果我选择这种方式并且不提供 ldpi 图标,那么在 Android 设备上运行时将图标大小从 hdpi 调整为 ldpi 会有什么影响?如果它需要调整 150 个图标的大小,可能需要一些时间,特别是因为 ldpi 设备可能具有较慢的 CPU。在 Android 设备上调整大小发生在哪个阶段:在安装时?在第一个应用程序启动时间?每次发射?

谢谢你的建议!

4

3 回答 3

0

如果在布局中使用图像,您可以使用 xxhdpi 图像,然后您可以在运行时生成 xhdpi、hdpi、mdpi 和 ldpi。

  1. 从 xxhdpi 获取图像。
  2. 将其缩放到所需的分辨率。
  3. 在您的布局中使用它。
  4. 将其写入磁盘。

试试这个在运行时生成拇指。

于 2013-10-09T06:59:14.420 回答
0

当您反编译 Google 自己的 APK 时,他们有一段时间根本不使用 ldpi。他们仅将 xxhdpi 用于应用程序的启动器图标。xxhdpi 图标尤其使 APK 大小变大。

图标的大小调整可能在每次启动时在运行时完成。

于 2013-10-08T09:25:34.453 回答
0

Android 将通过最多 2 个密度桶的差异很好地*缩小您的可绘制对象。如果您尝试做超过 2 个桶(即超过 2 倍),它看起来像废话。所以你应该提供每三个桶——目前只有 xxxhdpi 和 hdpi。

*除非您的可绘制对象中有像素艺术(但不要这样做),否则双线性插值将是不可接受的。然后,您应该选择一个支持的最低存储桶并提供高于该存储桶的所有内容。

于 2014-07-02T08:56:04.067 回答