android图片磁盘大小吗,Android - 一张图片到底占用多少内存

1. 概述

在做内存优化时,一般只要处理两点,应该就解决了绝大部分的问题。第一是内存泄露,第二就是图片问题。解决图片问题是实实在在能够看得见的,减少内存的占用。假设有一张图片是 600 * 800,假设占用空间100k。

2. 容易混淆的概念?

2.1:图片内存大小与占用空间大小?

1>:图片内存大小:指图片加载到内存中,占用内存的大小;

2>:占用空间大小:指在磁盘上占用的空间;

2.2:一张图片占多少内存?

图片高度 * 图片宽度 * 一个像素占用内存大小

上边图片大小 = 600 * 800 * 4byte = 1875k = 1.83M

4byte和图片的编码格式有关系,可参照大神文章:

http://www.cnblogs.com/popfisher/p/6770018.html

2.3:图片所在目录对内存的影响?

影响图片最终大小有2个因素:

图片存放的目录(xhdpi、xxhdpi、xxxhdpi)与手机屏幕密度

比如把上边图片放到 xxhdpi目录:

800 * 600 * 4byte = 1.83M

比如把上边图片放到 xxxhdpi目录:

800 * 1.5 * 600 * 1.5 * 4byte = 1.83 * 2.25M = 4.12M

3. 总结

1>:一定要避免使用大图片,可以使用 .9图片,因为 .9图片本身比较小,

2>:能在自定义View中的onDraw()方法中绘制的,就尽量绘制,不要直接加载大图片;

4. 注意

绝大多数情况,占用内存多,发生OOM都是因为对图片使用不当。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值