android图片缓存



Java代码   收藏代码
  1. 后来在外国佬的网站上发现了这个方法  
  2.   
  3. // 从网络获取图片并缓存,缓存与浏览器共享  
  4. URL url = new URL(imageURL);  
  5. URLConnection connection = url.openConnection();  
  6. connection.setUseCaches(true);  
  7. Bitmap bitmap = BitmapFactory.decodeStream((InputStream) connection.getContent());  
  8.   
  9. 但实验证明,上面方法缓存的图片都需一定的网络支持才能快速加载;  
  10. 下面的方法更好,在缓存了之后,即使网络很差,也能立即拿到图片  
  11.   
  12. 下面是另外一篇文章  
  13. [转]  
  14. 目前很多商业应用都会涉及到从网络上读取图片数据的问题,为了节约用户流量,应用一般会将图片缓存起来。图片缓存一般分为内存缓存和外存缓存。内存 缓存运用java的缓存机制,在程序完全退出后,缓存所在的内存空间可能被其它应用程序占用从而丢失。外存缓存一般放在程序特有的访问空间或者sd卡中, 在sd卡中存放的资源为公有资源,其它程序也可以访问,且对用户来讲没有一个强制清除缓存的规范机制。综合以上,本文采用将缓存图片放置在程序的特有空间 中, 其它应用程序无法访问,且用户可以在应用程序管理中的"清除数据"选项中清除缓存。   
  15.       本文提供三种缓存策略:(1)LRU算法,固定缓存图片数量(max_num),当图片数量超出max_num时,将缓存中最近用的最少的图片删除。 (2)FTU算法,固定每张图片的缓存时限,以最后一次使用算起,超过时限后删除。(3)FMU算法,在存储器中固定一定大小的存储空间,超过固定空间后 将缓存中占用最大尺寸的图片删除。使用时只需要向方法体中传递图片的URL即可。  
  16.    
  17. 使用方法:  
  18.     1.导入jar;  
  19.     2. 获取服务;  
  20.     3.提交url,交给程序去判断是否下载。  
  21.   
  22. 附件为可运行的项目,带了jar 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值