减少Android替代可绘制资源

时间:2012-04-04 14:00:38

标签: android drawable android-resources

我的图像需要缩放到屏幕尺寸。图像中还将包含需要翻译成第二语言的文本。因此,每个图像都会有两个版本,每个版本对应一种语言。

Google建议每个密度都有一个图像资源。所以我将我的两张图像乘以四:xhdpi,hdpi,mdpi和ldpi。但谷歌表示,不同的屏幕尺寸有不同的图像资源。这使我的图像再次乘以四:xlarge,large,normal和small。我不想为每张图片创建32份副本!

我想知道是否只为xlarge屏幕和xhdpi密度制作图像有什么问题。 IE - 最好的质量。让Android按照dp单位标准缩小图像的密度。当我在较小的屏幕上绘图时,我可以使用Canvas类进一步缩小。我可以缓存生成的缩放Bitmap对象,以便在每次需要重绘位图时使用,以避免昂贵的缩放计算反复运行。

这样做有什么缺点吗?或者有更好的方法可以避免制作相同图像的这么多副本吗?

2 个答案:

答案 0 :(得分:0)

在较小(低端)设备上缩小大图像的性能会受到影响。这是否明显取决于您必须显示的图像数量 对于记忆,同样适用于此。

答案 1 :(得分:0)

我仅为最高xhdpi像素密度创建位图,然后在其他屏幕类型上进行测试。

如果位图在某些低密度屏幕上看起来很糟糕,我会专门针对该密度重新制作它。这很少发生......

此外,不需要为不同的屏幕尺寸(小/ xlarge)制作特殊的位图 - 只需使你的ImageView-s更小/更大 - 图像缩放不是一个缓慢的操作,因此在大多数情况下你不需要担心关于它(除非你的位图覆盖整个屏幕)。