为什么Android应该根据屏幕分辨率来加载不同的图片文件

1.图片在xxhdpi,手机是hdpi的

我们有一个手机是hdpi的。我们还有一个图片,我们把他放在xxhdpi下。当手机显示的时候,系统会去hdpi中找,发现没有图片,最终在xxhpi中找到。终于找到图片后,系统会觉得xxhdpi中的图片一定很大,而我要把它显示在hdpi的手机中的话就应该压缩下图片,最终成为了原图的1/4,而压缩后的图片会损失一些东西,就会造成模糊的情况。这样的坏处也是显而易见的,显示到手机的图片资源清晰度下降,模糊了很多。

2.图片在dpi,手机是hdpi的

系统先去hdpi中找,没找到,最终在dpi中找到了。系统接着会把它加载到内存中,加载到内存前会先按比例拉伸。拉伸后再显示到手机中清晰度是没有问题,但是内存占用确增大为原来的4倍!

 

Q:同一套 DPI 资源在不同手机上使用时内存消耗有什么不同? 或 App 中加载不同 DPI 文件夹中的资源内存消耗有什么不同?

A不要使用一套资源适用于各种不同 DPI 的设备,这样图片的清晰度和内存消耗都会有问题。这就是为什么 Android要求对不同DPI文件做不同的资源,并且不同 DPI资源的长宽比要与DPI Ratio相对应。

 

所以我们需要为不同的分辨率准备不同的资源图片!

 

参考自:

http://www.tinylab.org/android-loading-a-different-relationship-between-dpi-and-memory-consumption-of-resources/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值