仅为Android应用程序使用高分辨率图像资源有什么不利之处吗?

时间:2010-03-09 19:07:47

标签: android graphics

Android文档说最佳做法是制作两个可绘制目录 - 一个用于HDPI,另一个用于MDPI。它还说如果MDPI目录不存在且MDPI设备正在运行该应用程序,它将缩小HDPI,以便一切看起来都很好。

有没有理由不制作一组高分辨率的图形?

我能想到的一个问题是性能问题,我能想到的一个专业人士只为您的应用程序提供一组图像。

2 个答案:

答案 0 :(得分:6)

基本上,对于大多数最佳实践,可以推断出这种情况:

你可以这样做,但最常见的不是,你不应该这样做。

并非您不能仅使用drawable-hdpi,而是drawable-ldpidrawable-mdpi的添加使您能够定制和微调您的资产,价格为填补你的应用程序。

请记住,如果你认为这个膨胀不会那么显着:

  • 资源大小与像素数成比例
  • 不同分辨率的资产之间的差异与分辨率之间的差异成正比

文件夹drawable-mdpi只占drawable-hdpi的37%,drawable-ldpi只占drawable-hdpi的18%

res文件夹的后缀在一起使用时特别有用 - 您可以完全控制应用程序。在某些情况下,资源是预先定义的,远远超过高中低密度屏幕,所以我想你不应该为额外的批量而担心。

正如您所想,您可以避免动态扩展资源(比预先缩放更糟糕)。这不是一个问题,但大多数时候,如果你可以通过在开发/生产过程中做额外的准备工作来避免在设备上进行操作,这是一件好事。

答案 1 :(得分:1)

仅仅使用hdpi的唯一一大缺点(我们90%的人不在大型团队中工作,设计师只能担心项目中的/ res文件夹)增加了cpu& (更重要的是)内存使用情况。即 - 你有320x480设备加载和使用1000x1000图像(它们在屏幕上缩小,但它们使用相同的内存,就像它们以完整尺寸显示一样)。

幸运的是,我刚发现这个小宝石效果非常好 - 它可以自动生成xhdpi中图像的其他尺寸:

https://code.google.com/p/android-drawable-converter/

更好 - 它是可配置的,因此您可以添加新大小(xxhdpi)或仅生成某些类型(mdpi)。