Android:为什么要为ldpi,mdpi和hdpi创建特定图像?

时间:2010-11-27 15:06:13

标签: android resolution

我目前正在尝试使用我的Android应用支持更大范围的设备。然而,即使在阅读了Android Dev Guide对此问题的评论之后,我也不确定为什么我应该为ldpi,mdpi和hdpi提供不同的图形。

我知道图像会自动缩放,所以我只能提供hdpi图形,然后让设备完成剩下的工作。如果设备能够降低扩展质量吗?这会是性能问题吗?现在我更担心将APK大小乘以三。

4 个答案:

答案 0 :(得分:5)

我可以想到两个原因:

  1. 开发人员关注:在您的软件包中放置所有图标版本会占用空间和带宽,因此即时扩展它们会占用CPU。没有猜测哪一个在移动设备上更便宜。 (我怀疑Android市场上的应用程序只会下载适用的资源 - 在这种情况下,您的用户甚至不支付空间/带宽税)需要参考。
  2. 设计师关注的问题:当您手动缩小图标时,您可以(以及专门的设计师将坚持)重新设计图标,以获得比自动缩放更清晰的结果。请查看this page以获取有关手动缩放图标的原因的详细说明。 (他主要讨论iPhone图标,但这也适用于Android图标。)

答案 1 :(得分:2)

我猜想必须在性能和尺寸之间做出平衡的决定。如果您只提供hdpi图形,那么操作系统自然必须使用一些资源来缩小它以用于较低分辨率的设备。但是如果同时提供hdpi,mdpi和ldpi图形,则需要更多空间。

然而,在我看来,你担心将APK大小乘以3并不太重要。首先,如果你无论如何提供一个hdpi图形,添加一个mdpi和ldpi图形(两者都小于hdpi图形大小(大约有3:4:6 scaling ratio))会增加大小,但远不是三倍(更接近双倍)。其次,图形并不构成所有的APK大小,因此图像数量增加三倍也不会使APK大小增加三倍。最后:由于Android现在支持应用程序到SD,因此应用程序的大小并不像早期版本那么重要。

答案 2 :(得分:0)

  

如果缩放质量会降低   设备做到了吗?

这是我做这件事的原因之一。对于大多数图像,我认为内置的缩放器会做得很好。但是,大多数图标(启动器图标,通知图标)由于尺寸小而特定于像素。在这些情况下,手动制作较小的版本会比自动缩放产生更清晰的结果。

答案 3 :(得分:0)

原因在于,如果您想在hdpi设备中显示某些内容(每英寸的像素密度更高),则需要更多像素来表示相同的视觉尺寸。

你可以让操作系统缩放图像,但它可能看起来很模糊。