为什么我们必须使用不同的启动器图标(xhdpi、hdpi等)



我想知道,为什么我们在android中使用不同的启动器图标(大小)。目前,您"必须"将图标大小调整为:

LDPI - 36 x 36
MDPI - 48 x 48
HDPI - 72 x 72
XHDPI - 96 x 96

并将它们放在所需的文件夹中。但是,如果你只在你的android应用程序中放一个xhdpi图标,如果你只是把ldpi、mdpi和hdpi文件夹留空,这真的重要吗。

如果你在mdpi设备上尝试使用这种配置的应用程序(只有xhdpi图标),会自动使用xhdi图标(我假设设备会自动缩放图标),看起来很正常。

那么,是什么能阻止我们只制作一个xhdi图标呢。它仍然会为每个设备生成一个清晰的应用程序图标(当然除了xxhdpi)。

重新调整开销。你的图标不仅可能被你的应用程序使用,也可能被其他人使用。像启动器一样,为安装的软件设置应用程序,在许多地方共享菜单。

请注意,分辨率越高,硬件的功能就越强大。分辨率越低,硬件的功能就越差。你可以做一个简单的运动。在Gimp中打开分辨率为3000x3000的图像。缩小到50%。即使在高端桌面上,也需要一些时间。不会太久,但会的。

正如android提供的文档中所描述的,最好使用不同的drawinables变体,主要是因为以下原因。

  1. 重新缩放是移动设备处理器的开销
  2. 在不同的手机上使用时,你不会得到完美的图像,因为它会被像素化或模糊
  3. 你必须处理好适合布局的图像大小,才能在所有屏幕上都有相同的外观和感觉

此外,为xhdpi创建一个图标并将其用于hdpi、mdpi和ldpi不会创建外观清晰的图像。它将创建像素相互重叠的可绘制图像,在hdpi中给人一种更清晰的图像感觉,但在mdpi或ldpi屏幕上可能看不到。按比例缩小图像在质量方面和按比例放大一样恶化。

因此,对于不同的屏幕,有不同的启动器图标总是更好的!

尽管系统执行缩放和重新调整大小以使应用程序在不同的屏幕上工作,但您应该努力针对不同的屏幕大小和密度优化应用程序。通过这样做,您可以最大限度地提高所有设备的用户体验,并且您的用户相信您的应用程序实际上是为他们的设备设计的,而不是简单地拉伸以适应他们设备上的屏幕。

以下五个因素决定了哪些资产对您的设备来说是方便的

  • 屏幕大小
  • 屏幕密度
  • 方向
  • 分辨率
  • 密度无关像素(dp)

我能想到的主要原因有两个,它们对任何图像都是一样的,而不仅仅是启动器图标:

  1. 缩放可能会破坏输出图像。它可能会使其变得模糊、像素化或丢失错误的像素。当你创建了你想要使用的确切图标时,你就会知道你得到了什么。这是因为图像不是基于矢量的,所以它们不能很好地缩放。

    这是文件中的一句话:

    为了确保位图看起来最好,您应该包括不同屏幕密度的不同分辨率版本。

  2. 缩放需要设备的CPU时间。当然,这可能不重要,但它是。。。

缺点是你的应用程序会占用更多的空间。

所以,我认为,对于一些图像,你应该创建所有的密度屏幕,对于一些,你可以使用xhdpi或xxhdpi(甚至hdpi)图像,而不使用其他图像。

顺便说一句,还有一个xxhdpi启动器图标,它是144x144(请参阅此处)

最新更新