首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android drawables DPI

Android drawables DPI
EN

Stack Overflow用户
提问于 2012-10-29 23:01:55
回答 3查看 2K关注 0票数 4

我有一个安卓应用程序,上面有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就可以根据需要缩放图像吗?这样做的缺点是什么?这仅仅是性能和文件大小之间的折衷吗?

EN

回答 3

Stack Overflow用户

发布于 2012-10-29 23:12:26

您可以将xhdpi版本放在可绘制的参考资料中。然后在您的布局/xml文件中指定dp中的图像尺寸。Android会相应地缩小你的图片。只要你在缩小可绘制资源的比例,图像的质量就不会改变。

票数 1
EN

Stack Overflow用户

发布于 2012-10-29 23:19:58

只有xhdpi资源会大大降低你的应用程序性能。另外,在小范围的设备上(小屏幕和小内存),在处理这些大的位图时,VM很可能会耗尽内存并崩溃。

你可以在你的高端设备上开发一切,并使用简单的photoshop自动化来创建其他资源,但拥有一个更大的APK比你的应用程序不能在中低端设备上工作要好得多。

另一种选择可能是导出几个APK (每种屏幕类型一个),并使用清单来指定它支持的屏幕尺寸,并让市场将正确的APK过滤到正确的设备。

票数 1
EN

Stack Overflow用户

发布于 2012-10-29 23:14:50

你可以的。缺点可能是图像质量稍差:考虑到hdpi显示,您需要缩放240/320倍,即0.75倍,或者说,例如在1D像素行中,您从4个源像素中组成3个目标像素。大多数时候,它看起来会非常好,但我想一些像素艺术可能是一个例外。我猜这可能也会更慢,并且使用的内存比它所能使用的更多,但我没有测量到这一点,所以我不能确定。

附言:我自己也在使用这种方法(只提供xhdpi资源)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13124202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档