Android 面试题 如何计算一张图片在内存中大小

博客详细介绍了Android中不同drawable目录下图片加载到内存的宽高计算方法,以及内存占用大小的计算公式。通过理解屏幕像素密度和图片格式,可以准确计算图片内存占用,并提出了图片优化的多种策略,如inSampleSize、RGB_565等。
摘要由CSDN通过智能技术生成

如何计算图片所占内存大小

其实图片所占内存大小和图片本身大小几乎没啥关系, 为什么这么说呢?

我现在把一张图片加载到内存去计算它的宽和高,图片如下:

你看啊 它的大小是72*72,现在我放在不同的目录下看看它的宽和高,

drawable

它的宽和高是144*144

drawable-hdpi

它的宽和高是96*96

drawable-mdpi

它的宽和高是144*144

drawable-xhdpi

它的宽和高是72*72

drawable-xxhdpi

它的宽和高是48*48

drawable-xxxhdpi

它的宽和高是36*36

是不是感觉很奇怪,为什么放在不同的目录下 图片的宽和高变化这么大呢?先看一张图:

另外说明drawable 的densityDpi的值为1和mdpi是一样的,

那原始图片是72*72 怎么读取出来是144*144呢说明宽和高都是乘了2,这个可能不能说明问题,拿xxxhdpi也说它是36*36,但是它的densityDpi是4。72不管是乘以4还是除以4都不等于36啊,这其中就要涉及到屏幕的像素密度了,

 DisplayMetrics metric = new Display
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值