【发布时间】:2021-08-17 15:13:45
【问题描述】:
我即将发布一个 Android 应用程序,它使用多个不同分辨率的图像。我发现将所有图像放在可绘制文件夹中会导致 OutOfMemory 异常的困难方式(崩溃),因为图像被放大了。通过将所有图像放在像 drawable-xxhdpi 这样的高 dpi 文件夹中,问题就消失了。
我的问题是:我应该根据图像的分辨率将图像排列到相应的文件夹吗?那会有什么不同吗? android是否会缩小在drawable-xxhdpi中找到的图像,即使它是低分辨率的?
【问题讨论】:
-
使用密度特定的目录(例如,
res/drawable-hdpi/)用于支持不同密度的同一图像的多个版本的情况。如果您有只有单一密度的图像,请将它们放入res/drawable-anydpi/,以告诉 Android 将图像用于任何密度。 -
anydpi 是在 API 级别 21 中添加的。如果我想使用 API 级别 16 怎么办?
-
API 级别 21 (Android 5.0) 已有 7 年历史。我不建议支持比这更早的。话虽如此,
res/drawable-nodpi/对于旧设备应该就足够了。
标签: android drawable resolution dpi