为什么需要可绘制的文件夹?

时间:2014-07-16 19:11:08

标签: android screen drawable dpi

我一直注意到我有很多可绘制的目录 - 可绘制的hdpi,ldpi,mdpi,xhdpi。我知道这些目录是针对不同的屏幕密度(扩展目的,如果你的屏幕具有屏幕密度,android会使用来自hdpi的图像。但不是单位dp的整点吗?为什么要再次发明轮子?

1 个答案:

答案 0 :(得分:3)

当您使用dp单位描述视图大小时,您只是说它应该在屏幕上占用多少空间。在可绘制的情况下,渲染器将向上或向下缩放原始图像以适合您的尺寸。不同可绘制文件夹的原因是针对不同的分辨率进行优化。

在具有较高像素密度的屏幕设备上,渲染器执行的插值会使低分辨率原始图像看起来模糊,这就是我们需要高分辨率资源的原因。

在具有低像素密度的屏幕上,渲染器可以并且将在低分辨率图像不存在时缩小高分辨率图像,但这是浪费的。首先,渲染器执行的插值可能会给您带来难看的结果。其次,原始图像以全分辨率解码,仅以更小的尺寸显示。这会浪费CPU周期和内存,这两者在像素密度较低的设备上往往不那么丰富。