将图像放在 drawable 和 drawable-nodpi 文件夹中有什么区别?

What is the difference between putting images in drawable and drawable-nodpi folder?

当我将图像放入 drawable 文件夹时,在设置图像资源时出现 OutOfMemoryError,但在将同一图像移动到 drawable-nodpi 文件夹后,错误得到解决。如何解决将图像移动到 drawable-nodpi 文件夹时出现的错误?

res/drawable/res/drawable-mdpi/ 的旧同义词,表示该目录中的可绘制对象设置为 mdpi 密度。如果设备是 运行 另一个密度,这些图像将被下采样(到 ldpi)或上采样(到任何其他)以匹配设备密度。

res/drawable-nodpi/ 说 "these drawables should not be resampled for any density, but instead should be used as-is on all densities"。

如果您将图像移动到 res/drawable-nodpi/ 时得到的 OutOfMemoryError 消失了,这表明两件事:

  1. 图像可能太大而无法开始

  2. 将图像上采样到更高密度失败,因为没有足够大的内存块来容纳更大的上采样图像