Android 正确的屏幕密度

Android Correct Screen Density

我已经 come across 使用此 table 显示 Android 用作屏幕密度基准的内容:

这里我了解到,如果我的mdpi图像是100px,那么我必须为hdpi使用150px(1.5因子)。

问题 1:mdpi 的目标屏幕密度介于 120dpi 屏幕和 160dpi 屏幕之间吗?因为我的 phone 有 432dpi(或 ppi)并且它使用 xxhdpi,所以我认为 xxhdpi 目标屏幕密度介于 320dpi480dpi,对吧?

但这里我 came across 有不同的 table,显示示例:

问题2:根据上面的假设,xhdpi应该定位在240dpi-320dpi之间,但是在第二个table 336dpi也被认为是xhdpi,为什么?如果用户的屏幕密度 > 480dpi 而我没有 xxxhdpi 文件夹会怎样?

Android 根据 DPI 差异最小的桶为给定的 DPI 值选择正确的密度桶 value.This 可以很容易地在下图中看到:

引用:

Figure 1. Illustration of how Android roughly maps actual sizes and densities to generalized sizes and densities (figures are not exact).

来源:http://developer.android.com/guide/practices/screens_support.html#range

问题 1: Mdpi 大致针对 140 DPI 和 180 DPI 之间的任何值。

问题 2:336 DPI 被认为是 xhdpi,因为 xhdpi 桶是最接近的桶(DPI 值:6)。与 hdpi 桶的差异是 96,与 xxhdpi 桶的差异是 144。

当密度文件夹缺失时 Android 选择最佳替代文件夹,并在需要时对资源应用缩放以匹配目标密度。