https://www.jianshu.com/p/8c634f10ed1a
软引用是用来表示某个引用会被GC(垃圾处理器)收集的类。
当有引用指向某个obj的时候,通常发生GC的时候不会把这个对象处理掉,但是被软引用包装的对象,当应用内存将要被耗尽的时候-->即将发生OOM,垃圾处理器就会把它带走。这么看来,软应用的生命周期还是很长的,可以用来做缓存处理。
我们可以通过以下方式来创建一个软引用:
SoftReference<String> ref = new SoftReference<String>("Hello world");
接收数据:
String value = ref.get();
if (value == null) {
// 如果被GC回收了 在这里重新初始化
}
// 你的逻辑
...