android图片缓存

来源:互联网 发布:如何做一个淘宝客 编辑:程序博客网 时间:2024/05/03 12:23



    博客分类: 
  • android
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 
原创粉丝点击