为了预防outofMemory,要避免重复发送Http请求下载。
我们通常的做法是使用softReference来维护缓冲数据集合与具体数据之间的引用。当Java的内存接近阀值时GC回收。释放内存
*强引用:创建一个对象把这个对象赋予一个引用变量。
*若引用softReference内存充足时与强引用没区别,内存不足时会被回收
创建一个软引用,如下代码:Object obj=new Object();
SoftReference<Object>ref=new SoftReference<Object>(obj);
Object returnObj=ref.get();
音乐列表图片缓存实现代码如下:
private HashMap<String,softRefereence<Bitmap>>cache=new HashMap<String,SoftReference<Bitmap>>();
内存泄露是指程序由于错误或漏洞造成内存占用过多,或占用内存后无法释放。内存溢出是指已有的数据超过了其获得的内存存储的范围,比如一个字节存放1000这个数字就属于内存溢出
原文:http://www.cnblogs.com/gentspy/p/5222078.html