使用软引用缓存Bitmap

原创 2012年03月22日 10:22:14

简单介绍下软引用:

Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。  


用Map集合缓存软引用的Bitmap对象:

//缓存,用于存储背景图片资源
public Map<String, SoftReference<Bitmap>> mImageCacheMap = new HashMap<String,
                                                               SoftReference<Bitmap>>();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream, null,options);
SoftReference<Bitmap> d = new SoftReference<Bitmap>(bitmap);
mImageCacheMap.put(imagePath, d);

从缓存中取软引用的Bitmap对象:

SoftReference<Bitmap> softReference = mImageCacheMap.get(imageUrl);
if (softReference.get() != null) {
    return softReference.get();
}

注意:取出Bitmap对象时,如果由于内存不足Bitmap被回收,将取得空。


相关文章推荐

bitmap 软引用,弱引用

软引用使用方法 private Map> imageCache = new HashMap>();

使用软引用缓存Bitmap

简单介绍下软引用:Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收...

Android Bitmap大量使用不产生OOM之使用缓存机制

加载一张图到你的界面,很轻松。但是,如果是在一瞬间要加载很多图的情况呢?比方说像listview、gridview、或者viewpager。或许你已经想到了,是的,用我上篇讲到Android Bitm...

使用软引用构建缓存

转载:http://www.devdiv.com/Android-%E4%BD%BF%E7%94%A8%E8%BD%AF%E5%BC%95%E7%94%A8%E6%9E%84%E5%BB%BA%E7%...

RecycleView 的使用

原文地址  : https://github.com/writtmeyer/recyclerviewdemo 为什么叫RecyclerView? 谷歌在Android L预览版API文...

RecycleView 添加底部加载更多

在阅读此文章前 请先看 http://blog.csdn.net/fangchao3652/article/details/43148871与开头的连接文章思想类似,只不过那个是图片文字按钮等多种布局...

Android中使用SoftReference缓存图片对象

在Java中内存管理,引用分为四大类:强引用HardReference、弱引用WeakReference、软引用SoftReference和虚引用PhantomReference。 它们的区别也很明...

[Android] Android开发优化之——使用软引用和弱引用

Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个...
  • arui319
  • arui319
  • 2013年01月10日 12:49
  • 52799

java中对象的软引用,SoftReference的使用

运行java程序时,有时为了提高访问速度会将某些对象存放在内存中。但是在内存吃紧的时候我们往往需要释放一些长期没有用的对象来得到更多的内存空间。 java中给我们提供了软引用这个类java.lang...

图片缓存(缓存Bitmap)

使用内存缓存: 内存缓存bitmaps读写快,但占用应用的运行内存。LruCache类就可以很好的优化占内存的问题。将最近使用的对象存于强引用LinkedHashMap中,当超出指定内存时,回收最近...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用软引用缓存Bitmap
举报原因:
原因补充:

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