2

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

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

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

这样做有什么缺点吗?或者有没有更好的方法来避免制作同一图像的如此多副本?

4

2 回答 2

0

在较小(低端)设备上缩小大图像会降低性能。这是否会引起注意取决于您必须显示的图像数量。
经比照,记忆也是如此。

于 2012-04-04T14:35:33.173 回答
0

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

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

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

于 2012-04-04T14:50:25.173 回答