【问题标题】:Why the need for drawable folders?为什么需要可绘制文件夹?
【发布时间】:2014-09-07 10:53:42
【问题描述】:

我一直注意到我有许多可绘制的目录 - 可绘制的 hdpi、ldpi、mdpi、xhdpi。我知道这些目录用于不同的屏幕密度(放大目的,如果您的屏幕具有该屏幕密度,Android 将使用来自 hdpi 的图像。但这不是单位 dp 的全部意义吗?为什么要再次发明轮子?

【问题讨论】:

  • 您如何认为您正在使用不同的文件夹重新发明轮子?
  • 因为它和dp的概念一样?为什么不只是 dp 单元而不用担心不同的文件夹?

标签: android screen drawable dpi


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    相关资源
    最近更新 更多