关于图片加载优化的小技巧

原创 2015年11月18日 17:07:25

        关于图片加载出现OOM异常,是我们Android开发人员经常需要考虑的问题。最近把公司项目中用到的优化小技巧做一个总结出来,方便以后使用。

       1、尽量压缩图片占用内存。

       在使用Bitmap.Config这个变量的时候,它里面会有4个枚举值,分别是: 

Bitmap.Config ARGB_4444:每个像素占四位,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位 

Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位

Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位

Bitmap.Config ALPHA_8:每个像素占四位,只有透明度,没有颜色。

A:透明度

R:红色

G:绿

B:蓝

默认情况下,使用的是Bitmap.Config ARGB_8888。但是通过比较我们发现,该值是最占内存的。

Bitmap.Config ARGB_4444和Bitmap.Config RGB_565所占用的内存都只有它的一半。

Bitmap.Config RGB_565的优点在于,对图片本身的失真比较小,缺点是没有透明色,不能适用于有透明色的图片。前几天就碰到用Bitmap.Config RGB_565,背景出现大黑框的情况。

Bitmap.Config ARGB_4444刚好相反,有透明色,但是每一种色值却失真比较严重,一般情况下不推荐。

Bitmap.Config ALPHA_8占用内存和默认差不多,不推荐。

        2、处理图片缓存了。如果需要频繁展示的图片,比如适配器中的图片,那么我们就需要缓存在内存中,但是如果只是一般的比如帖子或者商品里面的图片,只需要缓存在sd卡中就可以大大降低对内存的消耗。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 图片加载优化

Android中通过Bitmap对象来使用图片,在加载Bitmap对象的时候,可能会导致UI线程被阻塞,用户体验差或者ANR问题;Bitmap对象迅速的消耗掉大量的内存,出现OutOfMemory异常...
  • u010483016
  • u010483016
  • 2015年06月01日 10:21
  • 947

前端优化——海量图片加载

面试百田信息科技的时候,面试官看了我的简历,对我的电子商务策划案感兴趣,就开始发问了:“假如你的网站上有几十甚至几百张图片,如此多的图片你要怎么实现顺畅的加载,而不至于让用户等待时间过长关了页面?” ...
  • rocketleopard
  • rocketleopard
  • 2013年06月08日 01:33
  • 1350

Android异步加载学习笔记之四:利用缓存优化网络加载图片及ListView加载优化

如果不做任何处理,直接用网络加载图片在网速快的情况下可能没什么不好的感觉,但是如果使用移动流量或是网络不好的时候,问题就来了,要么用户会抱怨流量使用太多,要么抱怨图片加载太慢,如论从哪个角度出发,都不...
  • true100
  • true100
  • 2015年08月11日 21:02
  • 867

网站PC前端图片加载优化---jQuery lazyload

网站PC前端图片加载优化,jQuery lazyload,大量图片加载
  • newtelcom
  • newtelcom
  • 2016年01月21日 11:16
  • 663

Android图片加载优化--图片缓存

转载请注明出处:作者CJstar为什么要使用内存缓存 内存缓存: 内存缓存是指将已经赋值的对象保存在内存中,当再次使用的时候直接去内存读取,不再做重复的创建操作。 内存缓存的优势: 对象的重复使...
  • CJ_star
  • CJ_star
  • 2015年09月17日 19:52
  • 1013

微信小程序之提高应用速度小技巧

小程序科普类的文章已经很多了,今天这里讲的是针对小程序的优化方法,可以有效提高小程序的响应速度和用户体验。当然,开发体验也提高不少。...
  • wetest_tencent
  • wetest_tencent
  • 2017年03月10日 14:21
  • 4837

前端优化之图片预加载和延迟加载

预加载  : 预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,访问者便可享受到极快的加载速度。 比如预加载这三张图片: 函数声明:function preloadimg(arra...
  • Dohaelis
  • Dohaelis
  • 2016年09月12日 09:38
  • 604

Android大图加载内存优化(如何防止OutOfMemory)

第三方图片加载核心技术揭秘:揭秘ImagLoader或者Picasso等第三方开源库的核心:加载原理和缓存原理。...
  • CJ_star
  • CJ_star
  • 2015年08月21日 15:47
  • 2204

前端优化-图片懒加载

上次写了一篇webpack的学习心得,webpack能做到提升前端的性能,其模块打包最终生成一个或少量的文件能够减少对服务端的请求。除此之外,本次的图片懒加载(当然不仅限于图片,还可以有视频,flas...
  • li_mancheng
  • li_mancheng
  • 2017年07月25日 14:37
  • 303

【Android进阶】Yelp app是如何使用Glide优化图片加载的

原文地址:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0728/3228.html 原文:Glide – How Yel...
  • dodod2012
  • dodod2012
  • 2016年05月18日 10:14
  • 720
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于图片加载优化的小技巧
举报原因:
原因补充:

(最多只允许输入30个字)