关于fresco的使用之--CacheKey获取本地缓存
来源:互联网 发布:mybatis怎么打印sql 编辑:程序博客网 时间:2024/06/05 09:01
最近自己做了一个app涉及到分享图片以及gif文件,查看过多个框架最终决定使用Facebook的fresco框架,功能很强大,具体可以看git链接https://github.com/desmond1121/Fresco-Source-Analysis。关于Fresco的说明不多说,这里主要说一下获取本地缓存:
我们如果适用QQ分享的话,会发现需要我们传入一个本地图片的url,使用Fresco初始化的时候设置本地缓存规则:
DiskCacheConfig diskCacheConfig = DiskCacheConfig.newBuilder() .setBaseDirectoryPath(Environment.getExternalStorageDirectory().getAbsoluteFile()) .setBaseDirectoryName(Constants.CACHE_DIRECTORY) .setMaxCacheSize(100 * ByteConstants.MB) .setMaxCacheSizeOnLowDiskSpace(50 * ByteConstants.MB) .setMaxCacheSizeOnVeryLowDiskSpace(30 * ByteConstants.MB).build();会自动在手机本地或者SD卡生成缓存文件夹,并且会设置最大缓存空间然后我们就可以根据CacheKey来获取缓存文件路劲,从而实现分享,具体代码:
imageRequest = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url)).build(); CacheKey cacheKey= DefaultCacheKeyFactory.getInstance() .getEncodedCacheKey(imageRequest); BinaryResource resource = ImagePipelineFactory.getInstance() .getMainDiskStorageCache().getResource(cacheKey); final File file=((FileBinaryResource)resource).getFile();
这里获取的是File,至于File如何获取uri就很easy了(file.toURI())。
0 0
- 关于fresco的使用之--CacheKey获取本地缓存
- 使用fresco如何获取本地缓存图片的文件
- 新版本使用fresco如何获取本地缓存图片的文件
- Fresco 获取本地缓存
- 关于Fresco的三级缓存机制
- Fresco获取缓存的大小为-1的解决方法
- Fresco获取缓存的大小为-1的解决方法
- 本地缓存的使用
- Fresco的缓存机制
- 关于Fresco的缓存清理的那些事
- 使用Fresco加载本地图片
- spring redis mysql 修改 redis cachekey,增加cachekey的复杂度 。
- 【Android - 框架】之Fresco的使用
- FuckBook 之 Fresco 使用
- 关于Fresco的介绍
- 关于Fresco的
- ImageLoader获取本地缓存图片的bitmap
- 使用Fresco加载本地图片,resource资源
- 如何从 Xcode 控制台输出 JavaScript 的 log?
- 深入NSTimer(iOS)
- OpenGL配置
- 实时编辑dom的代码,包含新的判断浏览器核心及版本的方法,留存参考
- C#操作word之文本批量替换
- 关于fresco的使用之--CacheKey获取本地缓存
- spark-submit 和 spark-shell 后面可跟的参数
- 解决 mac ssh空闲 连接断开问题
- 【bzoj2049】[Sdoi2008]Cave 洞穴勘测 动态树
- [Linux]管道命令 ”|“
- 语义WEB服务
- php手册-关于true和false
- java查询优化
- Python logging(配置实现)