`

软引用SoftReference的使用

    博客分类:
  • java
阅读更多
软引用SoftReference的使用

SoftReference的主要特点就是在当内存不够的时候,GC会回收SoftReference所引用的对象。
所以,在memory sensitive的项目中将某些数据设置成SoftReference可以避免内存的溢出。

public class AC {
public static void main(String[] args) {

AC ac=new AC();
SoftReference sr=new SoftReference(ac);
List list=new ArrayList();
list.add(sr);
AC ab=(AC)((SoftReference)list.get(0)).get();
}
}

因为是SoftReference,有可能已经被GC回收了,
所以需要判断softReference.get()的返回值是否为null。如果是的话,就再重新new一个。

分享到:
评论

相关推荐

    软引用SoftReference缓存图片及异步加载

    通过软引用SoftReference缓存图片及实现图片的异步加载

    软引用SoftReference1

    软引用SoftReference1

    android中软引用的使用测试

    所以开始做应用的时候并没有考虑这些,所以后来痛苦了好久,现在和大家分享一些关于让你的程序稳定程度加一成保障的做法,那就是在程序中SoftReference的使用,可能大家并没有确切的去做过这个软引用的实际使用与不...

    Java对象的强、软、弱和虚引用1

    3.2 如果使用软引用SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该Java对象的回收 3.

    Android基于SoftReference缓存图片的方法

    本文实例讲述了Android基于SoftReference...SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该Java对象的回收。也就是说,一旦SoftReference保存了对一个Java对象的

    android 网络图片双缓存

    ⑵软引用(SoftReference) 如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来...

    java 常见的四种引用

    1.强引用1.强引用 2.软引用(SoftReference) 3.弱引用(WeakReference) 4.虚引用(PhantomReference) 等等;

    Java中弱引用和软引用的区别以及虚引用和强引用介绍

    很早Java API就添加了弱引用(WeakReference)和软引用(SoftReference),但并不是所有的程序员都熟悉这两个概念

    Java 引用1

    1.强引用本章前文介绍的引用实际上都是强引用,这是使用最普遍的引用 2.软引用(SoftReference)如果一个对象只具有软引用,那就类似于可有可物的生活用

    Java内存管理之软引用

    软引用(Soft Reference)的主要特点是具有较强的引用功能。只有当内存不够的时候才回收这类内存,因此在内存足够的时候,他们通常不被回收。另外,这些引用对象还能保证在Java 抛出OutOfMemory异常之前,被设置为...

    Java引用总结--StrongReference、SoftReference、WeakReference、PhantomRef

    3.1 强引 3.2 软引 3.3 弱引 3. 4 假象引

    Java虚拟机(四)——Java引用对象4种类型

    他们分别是强引用(StrongReference),软引用(SoftReference),弱引用(WeakReference)以及PhantomReference(虚引用),他们被 GC回收的可能性从小到大排列。 强引用(StrongReference) 只要强引用存在,垃圾回收器将...

    Android使用缓存机制实现文件下载及异步请求图片加三级缓存

    SoftReference的特点是它的一个实例保存对一个Java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该Java对象的回收。也就是说,一旦SoftReference保存了对一个Java对象的软引用后,在垃圾线程对这个Java对象回收...

    Android图片缓存之Lru算法(二)

    之前我们一直在使用SoftReference软引用,SoftReference是一种现在已经不再推荐使用的方式,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用变得不再可靠,...

    强,软,弱,虚引用非常通俗易懂的代码理解

    前述:除了强引用外,其他引用不是我们所常见的 new出来的对象,而是需要借用3个类SoftReference软引用,WeakReference弱引用,PhantomReference虚引用 1.强引用 概述:即发生OOM(Out Of Memory)内存空间满了也...

    三级缓存DiskLruCache+LruCache

    内存-文件-网络 三层cache机制,其中内存缓存包括强引用缓存和软引用缓存(SoftReference),其实网络不算cache,这里姑且也把它划到缓存的层次结构中。当根据url向网络拉取图片的时候,先从内存中找,如果内存中...

    Android新浪微博客户端源代码

    包括使用sqlite创建数据库 用来保存用户登录blog所需要的信息,SoftReference软引用,建立新线程下载图片,通过微博客户端获取账号列表,在此使用IF判断来处理:如果为空说明第一次使用跳到AuthorizeActivity页面...

    软应用示例

    解决android OOM的SoftReference

    打造增强用户体验的图片缓存方案(包含OOM处理技术)

    如果你还在因为大量不同size的图片缓存产生的OOM而烦恼,如果你还在因为用软引用(SoftReference)快速回收的蛋疼用户体验而不知所措,那么我建议无论你是高手还是菜鸟,真的很有必要看一下这篇文章,希望能从中给你...

Global site tag (gtag.js) - Google Analytics