码迷,mamicode.com
首页 > 其他好文 > 详细

图片下载缓存防止OOM

时间:2015-08-09 22:15:33      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

一  ImageManager

    ImageMemoryCache(内存缓存)、ImageFileCache(文件缓存)
    关于Java中对象的软引用(SoftReference),如果一个对象具有软引用,内存空间足够,垃 圾回收器就不会回收它;
    如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来
    实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。

 

 

二  LruCache缓存 (android最新的版本中对软引用支持的并不是很好 )     

LruCache设定的值,系统自动释放内存,这个类是3.1版本中提供的,如果你是在更早的Android版本中开发,则需要导入
android-support-v4的jar包

sd卡和内存空间都可缓存。

 

 


注意-----

线程池很好的帮我们管理并发和线程数量问题

/**
* 获取线程池的方法,因为涉及到并发的问题,我们加上同步锁
* @return
*/
public ExecutorService getThreadPool(){
if(mImageThreadPool == null){
synchronized(ExecutorService.class){
if(mImageThreadPool == null){
//为了下载图片更加的流畅,我们用了2个线程来下载图片
mImageThreadPool = Executors.newFixedThreadPool(2);
}
}
}

return mImageThreadPool;

}

 

 

 

 

 

图片下载缓存防止OOM

标签:

原文地址:http://www.cnblogs.com/softwarelanguagebs/p/4716319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!