【问题标题】:using different resolution images in android application在 android 应用程序中使用不同分辨率的图像
【发布时间】: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


【解决方案1】:

您可能希望使用Glide 在您的应用中呈现可绘制对象。 Glide 为您提供了根据您的图像支架尺寸自动缩放图像的方法。这也会缓存图像以便更快地访问(如果您要使用网络图像)。阅读文档,看看它是否对您有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多