首先创建BitmapUtils时使用带有缓存路径的构造创建 如果要对文件大小进行限制 可以使用三个参数的构造

bitmapUtils = new BitmapUtils(this, cachePath);

其次设置缓存图片名称 这里默认名称可能是对默认图片名称进行MD5转换

缓存图片不是jpg等后缀的图片文件 (开始不知道 一直以为没有进行图片本地缓存)

bitmapUtils.configDiskCacheFileNameGenerator(new FileNameGenerator() {

@Override
public String generate(String arg0) {
return fileName;
}
});

显示图片时默认对图片进行缓存

bitmapUtils.display(iv, img_url);

缓存图片使用

File bitmapFileFromDiskCache = bitmapUtils.getBitmapFileFromDiskCache(cachePath+"/"+fileName);

if(bitmapFileFromDiskCache.exists()){
bitmapUtils.display(iv, cachePath+"/"+fileName);
}else{// TODO 没有图片 加载默认图片
iv.setImageDrawable(getResources().getDrawable(R.drawable.ic_launcher));
}

实践证明,不需要设置缓存的名称,xUtils会自动帮我们在cachePath中寻找图片缓存是否存在,存在时会自动加载缓存文件!

个人认为,Universal-Image-Loader比xUtils更稳当!

[html] view plaincopy
  1. package com.example.pictest;
  2. import java.io.File;
  3. import com.lidroid.xutils.BitmapUtils;
  4. import com.lidroid.xutils.ViewUtils;
  5. import com.lidroid.xutils.cache.FileNameGenerator;
  6. import com.lidroid.xutils.view.annotation.ViewInject;
  7. import android.os.Bundle;
  8. import android.os.Environment;
  9. import android.app.Activity;
  10. import android.view.Menu;
  11. import android.widget.ImageView;
  12. public class MainActivity extends Activity {
  13. public static final String TEST = "http://221.2.159.215:90/uploads/allimg/090705/1345133136-0.jpg";
  14. private static final String fileName = "cacheFile";
  15. private BitmapUtils bitmapUtils;
  16. private String cachePath;
  17. @ViewInject(R.id.iv)
  18. ImageView iv;
  19. @Override
  20. protected void onCreate(Bundle savedInstanceState) {
  21. super.onCreate(savedInstanceState);
  22. setContentView(R.layout.activity_main);
  23. ViewUtils.inject(this);
  24. cachePath = Environment.getExternalStorageDirectory() + "/cacheFileDir";
  25. bitmapUtils = new BitmapUtils(this, cachePath);
  26. bitmapUtils.configDiskCacheFileNameGenerator(new FileNameGenerator() {
  27. @Override
  28. public String generate(String arg0) {
  29. return fileName;
  30. }
  31. });
  32. File bitmapFileFromDiskCache = bitmapUtils.getBitmapFileFromDiskCache(cachePath+"/"+fileName);
  33. if(bitmapFileFromDiskCache == null){
  34. bitmapUtils.display(iv, TEST);
  35. }else {
  36. bitmapUtils.display(iv, cachePath+"/"+fileName);
  37. }
  38. }
  39. }

xUtils图片本地缓存使用相关推荐

  1. 微信小程序首页图片本地缓存

    来源 最近写小程序的时候,因为首页有轮播图.广告图等等,导致我的首屏加载太慢了,想着将一部分图片做下本地缓存. 解决办法 查询api FileSystemManager.saveFile FileSy ...

  2. html5图片本地缓存,HTML5: 本地缓存

    HTML5 提供了两种在client存储数据的新对象: localStorage:没有时间限制的数据存储,在同一个浏览器中,仅仅要没被手动清理,第二天.第二周或下一年之后,数据依旧可用. sessio ...

  3. load方法引入本地html报错,分享基于plus.downloader的图片懒加载功能,支持本地缓存v1.1.0...

    今天试用了下hello mui上的图片懒加载功能,发现有些地方还无法满足我的需求,ajax动态加载的时候无法实现懒加载. 然后又看了下36kr的示例,因为代码关系实在太多了,耦合度比较高,遂自己动手写 ...

  4. android-远程图片获取和本地缓存

    概述 对于客户端--服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手机流量就用完了,等用户发现是你的 ...

  5. Vue+mui实现图片的本地缓存

    效果: const menu = {state: {products: {},GLOBAL_CONFIG:GLOBAL_CONFIG['GLOBAL_CONFIG']},mutations: {get ...

  6. php长按图片保存mui,Vue+mui实现图片的本地缓存

    这篇文章主要介绍了Vue+mui实现图片的本地缓存的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 下面一段代码给大家分享基于Vue+mui实现图片的本地缓存,具体代码如下所示: c ...

  7. Android之远程图片获取和本地缓存

    http://www.cnblogs.com/top5/archive/2012/04/10/2440614.html 概述 对于客户端--服务器端应 用,从远程获取图片算是经常要用的一个功能,而图片 ...

  8. php缓存远程图片接口,Android_Android远程获取图片并本地缓存,对于客户端——服务器端应用 - phpStudy...

    Android远程获取图片并本地缓存 对于客户端--服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手 ...

  9. Android图片三级缓存(网络,本地,内存)介绍及简单实现

    三级缓存使用的必要性 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量.在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响 当我们想要重复 ...

最新文章

  1. 美妙的模电2013/4/18
  2. java--面向接口编程
  3. ejs获取js变量值_EJS变量(注入值)
  4. 工作流实战_09_flowable 流程实例挂起与激活
  5. linux内核端口绑定,linux 多网卡bonding 绑定 端口聚合
  6. 九度搜索引擎点击优化_吉林免费seo优化工具
  7. “云时代架构”经典文章阅读感想十六
  8. VMware下 Fedora 14安装VMWare Tools
  9. Android6,androidstudio游戏开发教程
  10. 系统分析与设计——UML图总结
  11. 多目标跟踪评价指标总结——MOTA、IDF1、HOTA等
  12. 下载数据库名前加“#”方法
  13. dw html压缩文件,如何压缩css文件?
  14. 【BZOJ2565】最长双回文串 Manacher
  15. 几种归一化方法(Normalization Method)python实现
  16. JAVA Set 交集,差集,并集
  17. 在eclipse中安装Jess
  18. 线性分类(四)-- 高斯判别分析 GDA
  19. frp-内网穿透-远程桌面
  20. Discuz!开发之DB、CT类解析

热门文章

  1. 微带线等效电感仿真与设计
  2. 《工程伦理与学术道德》第三章习题
  3. 在火狐浏览器上安装Tampermonkey和Greasy Fork和使用iciba划词翻译
  4. 域名被微信拦截怎么办?
  5. 中国00后互联网学习行为报告.pdf
  6. FiveThirtyEight Comic Characters Dataset(五分之八漫画人物数据集)
  7. vs写c语言快捷键,vs快捷键
  8. SQLite管理软件 - SQLiteSpy
  9. Office word编辑公式居中,编号右对齐的简单方法,非表格法和制表符法
  10. 年薪120W的架构师简历你见过吗?java程序员该如何达到?