软引用(SoftReference)
如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存
软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。private final
//结合ConcurrentHashMap的缓存
private final static ConcurrentHashMap<String, SoftReference<Bitmap>> mSoftBitmapCache
= new ConcurrentHashMap<String, SoftReference<Bitmap>>(10);
//每次用到SoftReference的对象都要判断是否为null,因为它有可能被回收了
Reference
http://blog.csdn.net/historyasamirror/article/details/6076505
http://blog.csdn.net/kavendb/article/details/5935577