繁体   English   中英

如果Android首先在其中找到资源,Android是否更喜欢drawable文件夹?

[英]Does Android prefer the drawable folder if it first finds a resource there?

我将图像放在drawable文件夹中,并将其放在drawable-xhdpidrawable-mdpidrawable-hdpi文件夹中。

我知道android使用的图像与屏幕密度兼容,但是我想知道如果drawable文件夹中的图像相同,android是否将优先级赋予drawable文件夹或将采用相同的方法,那么android将做什么?不会首先检查drawable文件夹中的图像。

res/drawable/res/drawable-mdpi/的同义词,表示从密度大的那一天开始就向后兼容。 放在res/drawable/位图将被视为在res/drawable-mdpi/

这就是为什么这么多的开发人员在将位图放入res/drawable/并称其为好状态时会-mdpi -Android将其视为-mdpi以获得更高的密度,通常会导致OutOfMemoryError

恕我直言,在res/drawable/有位图是一种代码味道。

它倾向于最具体的。 因此,只有在另一个文件夹中没有替代时,它才会使用drawable文件夹。 drawable文件夹是放置诸如xml drawable之类的东西的好地方,这些东西通常不受dpi,屏幕尺寸等影响很大。

您可以查看官方文档

例如,以下是一些默认资源和替代资源:

res/
    drawable/ 
        icon.png
        background.png
    drawable-hdpi/ 
        icon.png
        background.png

hdpi限定符指示该目录中的资源用于具有高密度屏幕的设备。 这些可绘制目录中的每个图像的大小均根据特定的屏幕密度确定,但文件名完全相同。 这样,您用来引用icon.png或background.png图像的资源ID始终是相同的, 但是Android通过将设备配置信息与以下内容中的限定符进行比较,来选择与当前设备最匹配的每种资源的版本资源目录名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM