我有一个安卓应用程序,上面有4个版本的相同图片,每个文件夹里都有:
drawable-ldpi/
drawable-mdpi/
drawable-hdpi/
drawable-xhdpi/
图像之间唯一的区别是大小,我只是简单地取了原始的大图,并根据公式缩小了它:
120dp lpdi,1 dp=0.75 px
160dp mpdi,1 dp=1 px
240dp hdpi,1 dp=1.5 px
320dp xhpdi,1 dp=2 px
问题是我打算有超过100个图像,所以为了减小文件大小,我不能只将xhdpi版本放在drawables/文件夹中,而不是每个图像有4个版本,这样Android就可以根据需要缩放图像吗?这样做的缺点是什么?这仅仅是性能和文件大小之间的折衷吗?
发布于 2012-10-29 23:12:26
您可以将xhdpi版本放在可绘制的参考资料中。然后在您的布局/xml文件中指定dp中的图像尺寸。Android会相应地缩小你的图片。只要你在缩小可绘制资源的比例,图像的质量就不会改变。
发布于 2012-10-29 23:19:58
只有xhdpi资源会大大降低你的应用程序性能。另外,在小范围的设备上(小屏幕和小内存),在处理这些大的位图时,VM很可能会耗尽内存并崩溃。
你可以在你的高端设备上开发一切,并使用简单的photoshop自动化来创建其他资源,但拥有一个更大的APK比你的应用程序不能在中低端设备上工作要好得多。
另一种选择可能是导出几个APK (每种屏幕类型一个),并使用清单来指定它支持的屏幕尺寸,并让市场将正确的APK过滤到正确的设备。
发布于 2012-10-29 23:14:50
你可以的。缺点可能是图像质量稍差:考虑到hdpi显示,您需要缩放240/320倍,即0.75倍,或者说,例如在1D像素行中,您从4个源像素中组成3个目标像素。大多数时候,它看起来会非常好,但我想一些像素艺术可能是一个例外。我猜这可能也会更慢,并且使用的内存比它所能使用的更多,但我没有测量到这一点,所以我不能确定。
附言:我自己也在使用这种方法(只提供xhdpi资源)。
https://stackoverflow.com/questions/13124202
复制相似问题