Android 资源桶和解析策略

问题描述

如果我将图片单独放入 drawable-xxhdpi,而没有放入其他存储桶,这是否会对运送到密度较低或较高的设备造成任何风险?

过去,我们总是为每个存储桶生成一个图像变体,mdpixxxhdpi。然而,最近一个图像仅放置在 drawable(我认为它类似于 drawable-mdpi)中,当在某些设备上按比例放大时,这可以理解地产生 out-of-memory issues

该问题的答案中建议的方法是将所述图像放在 drawable-xxhdpi 而不是 drawable

我相当有信心这是可以接受的,但我只是想验证这里没有问题后果,包括应用程序何时作为捆绑包 (AAB) 发货和配置。特别是是否有关于解决存储桶资源的策略的明确文档?

解决方法

据我所知,如果没有提供 ldpi 资源,则会占用 mdpi 资源。

对于其他类型的资源,它不保证,它仅适用于 drawable-xxhdpi

首先在该设备支持的文件夹中查找源(例如 drawable-hdpi)。如果没有找到资源,它会在 drawable

中查找

要为所有分辨率仅使用一种资源,应使用 drawable-anydpi

但是图片(png、jpg 等)不应该存放在 drawable 中,最好存放在 mipmap 中,所以最后一个文件的所有分辨率都应该使用 mipmap-anydpi