为什么要提供各种密度的多个drawable?

mus*_*ikk 3 android screen-resolution drawable

我的应用程序支持从ldpi到xhdpi的各种屏幕密度.它包含一些需要在所有密度上正确显示的drawable(图像).我想知道有多少可绘制的分辨率实际上是必要的,考虑到Android运行时在找不到适当密度的资源时正在扩展资源.

如果您只提供mdpi drawables,它们将在hdpi/xhdpi(模糊)上放大,并在ldpi屏幕上缩小.

但是,如果仅提供xhdi资源,则它们将在所有低密度屏幕上缩小.按比例缩小不会使它们模糊,它们看起来会很好.

那么为什么还要为xhdpi提供其他密度的drawable?

Veg*_*ger 8

使用预分割的drawables有几个原因:

  1. 缩小到较低分辨率会占用资源(CPU时间,内存和更快耗尽电池),尤其是如果您有大量图像,这可能是不受欢迎的.

  2. 缩小大图像可能导致比使用"预调整"的较小图像更差的质量.特别是如果您的图像基于矢量原始图像.或者它们包含非常细的线条或细节,由于缩放而会丢失.
    例如:
    原始图像缩放图像
    请参阅此处了解这些图像的来源以及有关缩放工件的更多信息.

  3. 在较低分辨率下,图像像素较大(或图像变小),因此可能需要移除图像的某些方面以使其清晰/可理解.