首页 > 解决方案 > 我如何知道将为我的设备加载哪些资源?

问题描述

如果我手头有任何设备,我怎么知道我的 apk 将使用哪些资源?
例如drawable-hdpi,或者drawable-xhdpi或者drawable-xxhdpi
我不是在理论上询问这些文件夹中的哪些是在何时加载的,但特别是如果我手头有一个随机设备,我怎么知道将使用哪个?

标签: androidandroid-drawableandroid-resourcesandroid-hardwareandroid-resolution

解决方案


您必须了解密度桶的概念。看看这张图片(从这里收集) 在此处输入图像描述

ldpi因此,在文件夹中调用并找到低于 160 dpidrawable-ldpi 和低于 320 并在文件夹中找到最高 480 dpixhdpidrawable-xhdpi

因此,将使用哪种变体完全取决于您手机的屏幕密度。为了更好地理解,请查看这篇文章,特别是表 1。

要获取手机的密度,您可以使用此代码

final float scale = getResources().getDisplayMetrics().density;

因此,如果您的手机属于 xhdpi 类别,介于 320 和 480 dpi 之间,drawable-xhdpi则会使用变化,依此类推。


推荐阅读