Android文档说最佳做法是制作两个可绘制目录 - 一个用于HDPI,另一个用于MDPI。它还说如果MDPI目录不存在且MDPI设备正在运行该应用程序,它将缩小HDPI,以便一切看起来都很好。
有没有理由不制作一组高分辨率的图形?
我能想到的一个问题是性能问题,我能想到的一个专业人士只为您的应用程序提供一组图像。
答案 0 :(得分:6)
基本上,对于大多数最佳实践,可以推断出这种情况:
你可以这样做,但最常见的不是,你不应该这样做。
并非您不能仅使用drawable-hdpi
,而是drawable-ldpi
和drawable-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)。