Android DiskLruCache缓存工具封装
来源:互联网 发布:什么是数据挖掘技术 编辑:程序博客网 时间:2024/05/17 02:25
介绍
Android 应用缓存很常见,大多数应用都在使用DiskLruCache缓存技术,也有很多人介绍过DiskLruCache,因此我在这里就不介绍了。
DiskLruCache用起来不难,但是如果不加以封装的话,你会遇到各种open呀各种方法的组合,总之,不加以封装,还是比较麻烦的,于是就有了这篇博客,一行代码即可搞定缓存。
效果演示
以上就是保存缓存数据以及读取缓存数据的效果
支持
能缓存些什么数据?
- 任何java对象,包括List集合。
图片
该缓存工具主要缓存java对象,当然你如果要缓存json数据也可以,你可以把他当做String对象缓存到本地,读取的时候读取String数据就好,图片主要是将流缓存到本地,然后读取的时候读取本地保存的流就好。
使用DiskLruCache缓存技术
使用DiskLruCache缓存技术的好处在于,你不用关心缓存的过期时间,以及缓存大小的问题,也不用关心版本变化后数据格式改变的问题,他会自动判断软件版本,也会自动删除过期的旧数据,保证取到的数据没有问题,也不用关心SD卡的异常问题
如何使用
实际上,该工具的使用远远要比你想象的简单
1.保存缓存
1.保存java对象
String cachePath = getCacheDir(this); User user = new User(); user.name = "fussen"; user.age = "100"; Cache.with(this) .path(cachePath) .saveCache("key", user);
2.保存List集合数据
List<String> mData = new ArrayList<>(); String cachePath = getCacheDir(this); Cache.with(this) .path(cachePath)) .saveCache("key", mData);
3.保存图片
String imageUrl = "http://img.my.csdn.net/uploads/201407/26/1406383059_2237.jpg"; String cachePath = getCacheDir(this); Cache.with(this) .path(cachePath) .saveImage(imageUrl);
2.读取缓存
1.读取java对象缓存
String cachePath = getCacheDir(this); User user = Cache.with(this) .path(cachePath) .getCache("key", User.class);
2.读取List集合数据
String cachePath = getCacheDir(this); List<String> cacheList = Cache.with(this) .path(cachePath) .getCacheList("key", String.class);
3.读取图片缓存
String cachePath = getCacheDir(this); Bitmap cacheBitmap = Cache.with(this) .path(cachePath) .getImageCache(imageUrl); imageView.setImageBitmap(cacheBitmap);
经过以上步骤,你的缓存将会保存到本地,如图:
journal为DiskLruCache缓存经典标识文件。
3.说明:
- 该工具可以设置缓存路径,也可以不用设置,默认的缓存路径是:
/sdcard/Android/data/(应用包名)/cache - 参数key为缓存文件的唯一标识,图片缓存以图片的url为唯一标识
- 缓存文件名为md5编码后的名称
依赖
dependencies{ compile 'cc.fussen:cachelibrary:1.5.0'}
最后说明
- 该工具封装相对简单,后面会继续优化,该工具的封装思想来自于Glide
- 如果遇到什么问题,可以直接联系我
- 想了解该工具demo以及原理的,可以在微信公共号:AppCode里直接回复「缓存」即可获得源码地址
- 扫描下面二维码即可关注AppCode
阅读全文
0 0
- Android DiskLruCache缓存工具封装
- Android 缓存工具DiskLruCache用法
- android缓存系列:动手封装DiskLruCache
- Android之DiskLruCache(缓存工具)
- 三分钟学会缓存工具DiskLruCache
- 缓存工具DiskLruCache
- Android DiskLruCache磁盘缓存
- android 文件缓存 DiskLruCache
- Android DiskLruCache硬盘缓存
- Android缓存框架 DiskLruCache
- Android 磁盘缓存 DiskLruCache
- Android DiskLruCache(磁盘缓存)
- Android DiskLruCache(磁盘缓存)
- Android DiskLruCache(磁盘缓存)
- 快速学会缓存工具DiskLruCache
- Android缓存之磁盘缓存.对DiskLruCache进行封装便于存取.
- Android DiskLruCache缓存完全解析
- Android DiskLruCache缓存完全解析
- Sublime Text3 tab快捷键失效解决办法
- [torch] some bugs
- (转)Python中的ConfigParser模块使用详解
- Mysql实现企业级数据库主从复制架构实战
- R语言生存分析数据分析可视化案例
- Android DiskLruCache缓存工具封装
- python pandas 数据框 条件选取行列数据
- 数据结构与算法--Boyer-Moore和Rabin-Karp子字符串查找
- centos6.8下mosquitto分布式集群
- Shell编程基础篇-下
- Pycharm激活码
- Jedis一致性hash与sharding
- 1026. 程序运行时间(15)
- 一步步搭建Retrofit+RxJava+MVP网络请求框架(一)