Object a = new Object();
//createSoftReference<Object> reference = new SoftReference<Object>(a);
//get
Object b = reference.get();
if(b == null)
{
b = new Object();
reference = new SoftReference<Object>(b);
}
--------------------------------------------------------------------------------------------------------------------------------------------
public class ImageCache implements OnLowMemoryListener {
private final HashMap<String, SoftReference<Bitmap>> mSoftCache;
public ImageCache(Context context) {
mSoftCache = new HashMap<String, SoftReference<Bitmap>>();
GDUtils.getGDApplication(context).registerOnLowMemoryListener(this);
}
public static ImageCache from(Context context) {
return GDUtils.getImageCache(context);
}
public Bitmap get(String url) {
final SoftReference<Bitmap> ref = mSoftCache.get(url);
if (ref == null) {
return null;
}
final Bitmap bitmap = ref.get();
if (bitmap == null) {
mSoftCache.remove(url);
}
return bitmap;
}
public void put(String url, Bitmap bitmap) {
mSoftCache.put(url, new SoftReference<Bitmap>(bitmap));
}
public void flush() {
mSoftCache.clear();
}
public void onLowMemoryReceived() {
flush();
}
}