Android图片缓存
来源:互联网 发布:单片机与plc的区别 编辑:程序博客网 时间:2024/06/05 04:38
Android基于universal-image-loader-1.9.4.jar的图片缓存。
jar包可以去网上下载,其中封装了网络获取图片及在手机开辟缓存区域的方法,只需要做如下配置操作就可以使用。
它的作用方式是这样的,如果手机连接网络,那么该组件会从网络获取图片并将图片写入缓存,如果没有连接网络,那么会从缓存区域获取已经加载的图片并显示出来。
一下是具体的配置和使用方式:
1:添加jar包,并添加依赖。
2:配置universal-image-loader,代码:
import com.inext.test.volleytest.R;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.ImageScaleType;import com.nostra13.universalimageloader.core.download.BaseImageDownloader;/** * Created by Administrator on 2016/5/6. */public class ImgLoaderUtil { private static DisplayImageOptions options = new DisplayImageOptions.Builder() //下载时显示的图片 .showImageOnLoading(R.mipmap.ic_launcher) //下载错误时显示的图片 .showImageOnFail(R.mipmap.ic_launcher) //下载为空时显示的图片 .showImageForEmptyUri(R.mipmap.ic_launcher) //存储和硬盘 .cacheInMemory(true) .cacheOnDisk(true) .bitmapConfig(Bitmap.Config.ARGB_8888) //缩放类型 .imageScaleType(ImageScaleType.EXACTLY_STRETCHED) //复位 .resetViewBeforeLoading(true) .build(); public static void display(String url,ImageView imageView){ //此ImageLoader不是volley下的 ImageLoader.getInstance().displayImage(url,imageView,options); }public static void clear(){ ImageLoader.getInstance().clearDiskCache(); ImageLoader.getInstance().clearMemoryCache();} public static void imageLoader(Context context){ ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(context) .denyCacheImageMultipleSizesInMemory() //线程池推荐大小为3 .threadPoolSize(3) //线程优先级 .threadPriority(Thread.NORM_PRIORITY) //内存缓存大小 .memoryCacheSize((int) (Runtime.getRuntime().maxMemory()/8)) //硬盘缓存大小 .diskCacheSize(50*1024*1024) //加密方式 .diskCacheFileNameGenerator(new Md5FileNameGenerator()) //默认设置 .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) .imageDownloader(new BaseImageDownloader(context,50000,50000)) //无限制缓存 .diskCache(new UnlimitedDiskCache(FileUitlity.getInstance(context).makeDir("imgCache"))) .build(); ImageLoader.getInstance().init(configuration); }}
3:调用:
//初始化ImgLoaderUtil.imageLoader(context);//传入图片地址和要显示的imageview,系统会自动处理网络与缓存并加载显示图片ImgLoaderUtil.display(url, img);
0 0
- Android缓存:图片缓存管理
- Android图片缓存,三级缓存
- android图片缓存
- Android 远程图片缓存
- Android 图片缓存
- Android图片缓存
- android多级图片缓存
- Android图片本地缓存
- android 缓存 图片
- android 图片缓存管理
- Android--SoftReference缓存图片
- Android图片缓存管理
- Android:图片缓存
- Android LruCache 缓存图片
- Android图片缓存
- Android 图片缓存处理
- android图片缓存
- android图片缓存
- 数据库的事物隔离级别
- 【转载】终于明白了!三层架构和MVC不是一个事!
- train_cascade 源码阅读之Haar特征
- Java Web 中 JSP增删改查mySQL数据
- 57、微信-我Fragment_Profile
- Android图片缓存
- exFAT 文件系统格式
- 在这个比长的时代,偏偏有人胜在了短小精悍
- 纪念自己菜鸟生涯的一个开始---闰年计算器
- 58、微信-我-我的二维码MyCodeActivity
- jquery tmpl 详解
- HDU 1698 Just a Hook 线段树成段更新
- 【C#】日期时间处理总结
- iOS如何快速解决PCH文件的路径找不到问题