CacheDiskUtils
之前写过一篇 你想要的 CacheUtils,简单介绍了下其可以完美替代 ASimpleCache,而且修复了其中少许 BUG 并做了相应优化,相关 API 如下所示:
缓存相关 -> CacheUtils.java
1 | getInstance : 获取缓存实例 |
其也就是所谓的硬盘缓存,在 AndroidUtilCode 1.17.0 版本,该 CacheUtils 已被我标记废弃,可替换为 CacheDiskUtils,下一个大版本1.18.x 可能就会移除 CacheUtils。
CacheMemoryUtils
讲了磁盘缓存另一个就是内存缓存,内存缓存工具类 CacheMemoryUtils 原理是利用 LruCache 来实现的(LRU 是Least Recently Used的缩写,即最近最少使用),其 API 如下所示:
内存缓存相关 -> CacheMemoryUtils.java -> Test
1 | getInstance : 获取缓存实例 |
CacheDoubleUtils
结合硬盘缓存工具类 CacheDiskUtils 和内存缓存工具类 CacheMemoryUtils,那么我们的二级缓存工具类 CacheDoubleUtils 便诞生了,其 API 如下所示:
二级缓存相关 -> CacheDoubleUtils.java -> Test
1 | getInstance : 获取缓存实例 |
借助以上三个缓存工具类,那么 Android 端的缓存实现便再也不是什么难题了,例如你想要实现 RxCache,那么借助 RxJava 的 compose 操作符和我的工具类,把数据放入缓存不就轻而易举地实现了么,更多风骚的姿势可待你解锁。