Android:使用不同像素密度的图像的目的?

Android:使用不同像素密度的图像的目的?,android,dpi,Android,Dpi,我知道在Android中使用不同DPI的图像是一种相当普遍的做法。但我真的看不出它的用途,为什么我们不能使用一个超大的图像,然后在程序中缩放它呢?我知道如果我们不使用不同DPI的图像,我们可能需要进行额外的计算,但除此之外,还有其他原因吗?您可以获得针对屏幕密度的优化图像。如果你把它全部留给xhdpi,你必须知道一些重要的像素可能会在这个过程中消失,因为你没有注意到这一点 如果您不关心速度和准确性,并且您认为人们不会注意到重要像素丢失,那么可以使用这种方法 不仅如此,如果您自己使用权重缩放图像,

我知道在Android中使用不同DPI的图像是一种相当普遍的做法。但我真的看不出它的用途,为什么我们不能使用一个超大的图像,然后在程序中缩放它呢?我知道如果我们不使用不同DPI的图像,我们可能需要进行额外的计算,但除此之外,还有其他原因吗?

您可以获得针对屏幕密度的优化图像。如果你把它全部留给xhdpi,你必须知道一些重要的像素可能会在这个过程中消失,因为你没有注意到这一点

如果您不关心速度和准确性,并且您认为人们不会注意到重要像素丢失,那么可以使用这种方法


不仅如此,如果您自己使用权重缩放图像,例如,您根本不需要将它们放在dpi文件夹中-您可以将它们放在drawable nodpi文件夹中。

您可以获得针对屏幕密度的优化图像。如果你把它全部留给xhdpi,你必须知道一些重要的像素可能会在这个过程中消失,因为你没有注意到这一点

如果您不关心速度和准确性,并且您认为人们不会注意到重要像素丢失,那么可以使用这种方法


不仅如此,如果您自己使用权重缩放图像,您根本不需要将它们放在dpi文件夹中—您可以将它们放在drawable NodePI文件夹中。

通过为每个主要屏幕密度类别提供已渲染为适当大小的图像,您无需在代码中显式进行缩放,这将使代码更清晰

您还可以避免由于显示的每个图像都必须缩放而导致的性能损失,具体取决于您的应用程序必须进行的缩放程度。在视图显示给用户时,如果不动态执行这些操作,可能会大大提高性能


最后,为每个大小提供适当的渲染图像将确保您的资源看起来更好。系统缩放并不完美,如果必须缩放图像,会影响图像的清晰度。如果必须对其进行显著的缩放,用户会注意到这一点。

通过为每个主要屏幕密度类别提供已渲染为适当大小的图像,您无需在代码中显式进行缩放,这将使代码更干净

您还可以避免由于显示的每个图像都必须缩放而导致的性能损失,具体取决于您的应用程序必须进行的缩放程度。在视图显示给用户时,如果不动态执行这些操作,可能会大大提高性能


最后,为每个大小提供适当的渲染图像将确保您的资源看起来更好。系统缩放并不完美,如果必须缩放图像,会影响图像的清晰度。如果它必须显著地扩展它们,用户会注意到这一点。

Tim和a.d.为您提供了正确的推理。如果您希望看到以正确大小重新缩放或绘制的对象之间的比较,这里有一个可视示例。如果有非常小的细节,效果总是更明显


第一个是一个大的200x200,我们称之为xhdpi,第二个是为mdpi 75x75重新采样的相同图像。第三个重新设计为相同规格,但从75x75开始。如您所见,第二张图片上的文字明显模糊,并且在重新缩放的形状边缘有一些瑕疵。

Tim和a.d.为您提供了正确的推理。如果您希望看到以正确大小重新缩放或绘制的对象之间的比较,这里有一个可视示例。如果有非常小的细节,效果总是更明显

第一个是一个大的200x200,我们称之为xhdpi,第二个是为mdpi 75x75重新采样的相同图像。第三个重新设计为相同规格,但从75x75开始。如您所见,第二个屏幕上的文字明显模糊,并且在重新缩放的形状边缘存在一些瑕疵