概述
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都是因为对图片使用不当。
最后
以上就是孤独西装为你收集整理的android图片磁盘大小吗,Android - 一张图片到底占用多少内存的全部内容,希望文章能够帮你解决android图片磁盘大小吗,Android - 一张图片到底占用多少内存所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复