xUtils图片本地缓存使用
首先创建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更稳当!
- package com.example.pictest;
- import java.io.File;
- import com.lidroid.xutils.BitmapUtils;
- import com.lidroid.xutils.ViewUtils;
- import com.lidroid.xutils.cache.FileNameGenerator;
- import com.lidroid.xutils.view.annotation.ViewInject;
- import android.os.Bundle;
- import android.os.Environment;
- import android.app.Activity;
- import android.view.Menu;
- import android.widget.ImageView;
- public class MainActivity extends Activity {
- public static final String TEST = "http://221.2.159.215:90/uploads/allimg/090705/1345133136-0.jpg";
- private static final String fileName = "cacheFile";
- private BitmapUtils bitmapUtils;
- private String cachePath;
- @ViewInject(R.id.iv)
- ImageView iv;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- ViewUtils.inject(this);
- cachePath = Environment.getExternalStorageDirectory() + "/cacheFileDir";
- bitmapUtils = new BitmapUtils(this, cachePath);
- bitmapUtils.configDiskCacheFileNameGenerator(new FileNameGenerator() {
- @Override
- public String generate(String arg0) {
- return fileName;
- }
- });
- File bitmapFileFromDiskCache = bitmapUtils.getBitmapFileFromDiskCache(cachePath+"/"+fileName);
- if(bitmapFileFromDiskCache == null){
- bitmapUtils.display(iv, TEST);
- }else {
- bitmapUtils.display(iv, cachePath+"/"+fileName);
- }
- }
- }
xUtils图片本地缓存使用相关推荐
- 微信小程序首页图片本地缓存
来源 最近写小程序的时候,因为首页有轮播图.广告图等等,导致我的首屏加载太慢了,想着将一部分图片做下本地缓存. 解决办法 查询api FileSystemManager.saveFile FileSy ...
- html5图片本地缓存,HTML5: 本地缓存
HTML5 提供了两种在client存储数据的新对象: localStorage:没有时间限制的数据存储,在同一个浏览器中,仅仅要没被手动清理,第二天.第二周或下一年之后,数据依旧可用. sessio ...
- load方法引入本地html报错,分享基于plus.downloader的图片懒加载功能,支持本地缓存v1.1.0...
今天试用了下hello mui上的图片懒加载功能,发现有些地方还无法满足我的需求,ajax动态加载的时候无法实现懒加载. 然后又看了下36kr的示例,因为代码关系实在太多了,耦合度比较高,遂自己动手写 ...
- android-远程图片获取和本地缓存
概述 对于客户端--服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手机流量就用完了,等用户发现是你的 ...
- Vue+mui实现图片的本地缓存
效果: const menu = {state: {products: {},GLOBAL_CONFIG:GLOBAL_CONFIG['GLOBAL_CONFIG']},mutations: {get ...
- php长按图片保存mui,Vue+mui实现图片的本地缓存
这篇文章主要介绍了Vue+mui实现图片的本地缓存的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 下面一段代码给大家分享基于Vue+mui实现图片的本地缓存,具体代码如下所示: c ...
- Android之远程图片获取和本地缓存
http://www.cnblogs.com/top5/archive/2012/04/10/2440614.html 概述 对于客户端--服务器端应 用,从远程获取图片算是经常要用的一个功能,而图片 ...
- php缓存远程图片接口,Android_Android远程获取图片并本地缓存,对于客户端——服务器端应用 - phpStudy...
Android远程获取图片并本地缓存 对于客户端--服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手 ...
- Android图片三级缓存(网络,本地,内存)介绍及简单实现
三级缓存使用的必要性 假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量.在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响 当我们想要重复 ...
最新文章
- 美妙的模电2013/4/18
- java--面向接口编程
- ejs获取js变量值_EJS变量(注入值)
- 工作流实战_09_flowable 流程实例挂起与激活
- linux内核端口绑定,linux 多网卡bonding 绑定 端口聚合
- 九度搜索引擎点击优化_吉林免费seo优化工具
- “云时代架构”经典文章阅读感想十六
- VMware下 Fedora 14安装VMWare Tools
- Android6,androidstudio游戏开发教程
- 系统分析与设计——UML图总结
- 多目标跟踪评价指标总结——MOTA、IDF1、HOTA等
- 下载数据库名前加“#”方法
- dw html压缩文件,如何压缩css文件?
- 【BZOJ2565】最长双回文串 Manacher
- 几种归一化方法(Normalization Method)python实现
- JAVA Set 交集,差集,并集
- 在eclipse中安装Jess
- 线性分类(四)-- 高斯判别分析 GDA
- frp-内网穿透-远程桌面
- Discuz!开发之DB、CT类解析