Fresco库,自定义图片缓存的key
来源:互联网 发布:linux malloc实现原理 编辑:程序博客网 时间:2024/06/06 08:23
Fresco库,自定义图片缓存的key
重写CacheKeyFactory类,重写里面的3个方法,将return方法里的key替换成你生成你需要的key。不过自定的key也是需要遵循Fresco库里的Urls规则,网络图片还是需要加上”http://”前缀啦。
public static class MyCacheKeyFactory implements CacheKeyFactory { @Override public CacheKey getBitmapCacheKey(ImageRequest request) { Uri uri = request.getSourceUri(); String key = mCacheStr; return new BitmapMemoryCacheKey( key, request.getResizeOptions(), request.getAutoRotateEnabled(), request.getImageDecodeOptions(), null, null); } @Override public CacheKey getPostprocessedBitmapCacheKey(ImageRequest request) { Uri uri = request.getSourceUri(); String key = mCacheStr; final Postprocessor postprocessor = request.getPostprocessor(); final CacheKey postprocessorCacheKey; final String postprocessorName; if (postprocessor != null) { postprocessorCacheKey = postprocessor.getPostprocessorCacheKey(); postprocessorName = postprocessor.getClass().getName(); } else { postprocessorCacheKey = null; postprocessorName = null; } return new BitmapMemoryCacheKey( key, request.getResizeOptions(), request.getAutoRotateEnabled(), request.getImageDecodeOptions(), postprocessorCacheKey, postprocessorName); } @Override public CacheKey getEncodedCacheKey(ImageRequest request) { Uri uri = request.getSourceUri(); String key = mCacheStr; return new SimpleCacheKey(key); }}
初始化fresco时将CacheKeyFactory设置为重写的对象
//初始化,一般要放在application ImagePipelineConfig config = ImagePipelineConfig.newBuilder(MainActivity.this) .setCacheKeyFactory(myCacheKeyFactory) .build(); Fresco.initialize(MainActivity.this, config);
提供Demo 下载
该例子是针对 compile ‘com.facebook.fresco:fresco:0.10.0’
版本做的处理。
提醒一下0.10.0版本开始如果要加载gif图片,需要另外倒入 compile ‘com.facebook.fresco:animated-gif:0.10.0’
包,因为该版本开始,将gif功能拆分成另外一个模块包了
0 0
- Fresco库,自定义图片缓存的key
- Fresco自定义缓存的KEY以及判断自定义缓存是否成功
- Android 图片缓存 - Fresco
- 图片缓存--Fresco(一)
- Android 图片缓存 - Fresco
- 分享Fresco缓存中的图片
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别
- Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide图片缓存库的联系与区别
- 使用fresco如何获取本地缓存图片的文件
- 新版本使用fresco如何获取本地缓存图片的文件
- Fresco的缓存机制
- Android 强大的图片加载库Fresco,Fresco介绍
- 网络图片加载库 Fresco 的使用
- Facebook图片缓存框架 Fresco 总结
- Android 图片缓存 —— Fresco
- 图片加载库Fresco
- 图片加载库-Fresco
- Struts2学习(八)—文件上传和下载
- java实现对hdfs文件系统的上传,下载,删除,创建文件夹的操作演示
- 2016.6.26 A New Start
- [326] Power of Three
- Matlab 视频格式转换
- Fresco库,自定义图片缓存的key
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
- 解决 IE 11 无法显示此页
- MFC 虚函数
- 2016-6-26 杂感
- Unity3D中常用的数据结构总结与分析
- 文件系统开发手记-第2篇 我为什么要在Lustre上做QoS
- 迭代器失效 iterator not incrementable
- Java NIO系列教程(十二) Java NIO与IO