【问题标题】:Image varies significantly in its density-independent (dip) size图像的密度无关(倾角)尺寸变化很大
【发布时间】:2013-04-07 00:11:43
【问题描述】:

我已经完成了我的应用程序的编码,并且正在运行 Lint 以确保所有性能问题都得到解决。

我为 ldpi、mdpi、hdpi 和 xhdpi 创建了图形;但 Lint 告诉我出了点问题:

The image btn_homepage_journal.png varies significantly in its density-independent (dip) size across the various density versions: 
drawable-xhdpi\btn_homepage_journal.png: 93x75 dp (186x149 px), 
drawable-hdpi\btn_homepage_journal.png: 76x61 dp (114x92 px), 
drawable-mdpi\btn_homepage_journal.png: 61x49 dp (61x49 px), 
drawable-ldpi\btn_homepage_journal.png: 48x48 dp (36x36 px)

我的 mdpi 测试设备是 Galaxy Ace,我的 xhdpi 测试设备是 Galaxy S3,图形看起来不错。

我不明白这个警告想告诉我什么:对于我的 186x149 像素的 xhdpi 图像(完全适合我的 xhdpi 布局),93x75 dp 指的是什么?

这是我在每个 dpi 文件夹中使用的图像:

【问题讨论】:

    标签: android performance


    【解决方案1】:

    有时代码胜于雄辩:

    public static void logGfxVarioFromXXHDPI(final int height, final int width) {
        RapidLog.i("GFX","xxxhdpi: (" + (int)(height * (4/3.0))  + "x" + (int)(width * (4/3.0))  + ")");
        RapidLog.i("GFX","xxhdpi: (" + (height)  + "x" + (width)  + ")");
        RapidLog.i("GFX","xhdpi: (" + (int)(height * (2/3.0))  + "x" + (int)(width * (2/3.0))  + ")");
        RapidLog.i("GFX","hdpi: (" + (int)(height * 0.5)  + "x" + (int)(width * 0.5)  + ")");
        RapidLog.i("GFX","mdpi: (" + (int)(height * (1/3.0)) +  "x" + (int)(width * (1/3.0)) + ")");
        RapidLog.i("GFX","ldpi: (" + (int)(height * 0.25)  + "x" + (int)(width * 0.25) + ")");
    }
    

    祝你好运

    【讨论】:

      【解决方案2】:

      Lint 向您展示了每个图像的密度无关大小,或者如果它必须为您更改大小,基本上 mdpi 大小将是多少。它期望的相对大小是: xhdpi: 200% 高清:150% mdpi: 100% 低密度脂蛋白; 75% 因此,如果您的 mdpi 图像是 61x49,它会期望您的 ldpi 是该图像的 75%,即 46x37。 此外,它会期望您的 xhdpi 为 122x98,而不是您拥有的 186x149。

      因此,查看每个数字集 - 左侧基本上表示图像的大小,如果它为 mdpi 显示调整大小。 所以理论上这应该是真的:

      xhdpi*0.5 == hdpi * 0.667 == mdpi == ldpi*1.33

      在实践中,您可以按照自己的方式进行操作,但您的布局很难相互对应。

      【讨论】:

      • 谢谢;我现在明白了。但是,从肉眼看来,我的 xhdpi 图形应该是 186x149 - 122x98 看起来很愚蠢。那么我应该忽略这个 Lint 建议吗?
      • 我当然会忽略它。无论如何,这实际上只是对尺寸的建议。
      • 对于 S3,也可以看看这个(以防你没有使用过那个方案):stackoverflow.com/questions/11699761/…
      猜你喜欢
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 2012-08-28
      • 2018-06-15
      相关资源
      最近更新 更多