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

原创 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图片加载框架univser-imageloader使用的一些小技巧记录

univser-imageloader的使用跟自定义缓存名称

仿微信表情图片加载(优化版)

  • 2016年06月25日 20:39
  • 18.97MB
  • 下载

Android的listview中图片加载的优化

费了好大劲写玩才发现早就有现成的三方(glide)了,还是记下来吧。 原理很简单,压缩图片,保存,package com.co_think.pehistory.utils; import andro...
  • xg436
  • xg436
  • 2017年04月01日 15:32
  • 166

ListView分页加载,图片加载优化

  • 2013年10月23日 18:03
  • 1.08MB
  • 下载

android学习之路(六)---- 图片加载库的优化、封装

封装Image-Loader 一、背景         universal-image-loader是一项伟大的开源项目,作者在其中运用到的软件工程解决办法让人印象深刻,在本篇文章的开篇,首先向u...

Android开发中ListView图片加载的优化机制

图片的优化策略比较多。 1、处理图片的方式:如果ListView中自定义的Item中有涉及到大量图片的,一定要对图片进行细心的处理,因为图片占的内存是ListView 项中最头疼的,处理图片的方法大致...

iOS图片加载速度极限优化—FastImageCache解析

FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的。 优化点 iOS从磁盘加载一张图片,使用UII...

Android优化图片加载所占用的内存

开发时使用的imagview所需要显示的图片大小比图片的真实大小小时,如果完全加载图片真实的大小会造成内存的浪费,Android官方提供了优化的方案,现整理出核心代码如下: /** *...

项目优化——网络图片加载封装

1.目前比较流行的网络图片加载库 xUtils: 非单纯图片加载框架 https://github.com/wyouflf/xUtils3 Android-Universal-Image-Loader...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于图片加载优化的小技巧
举报原因:
原因补充:

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