1、设置全局缓存策略
通过RxHttpPlugins.setCache(File, long, CacheMode, long)静态方法,设置全局缓存策略,如下:
public void initRxHttpCache(Context context) {
//设置缓存目录为:Android/data/{app包名目录}/cache/RxHttpCache
File cacheDir = new File(context.getExternalCacheDir(), "RxHttpCache");
//设置最大缓存为10M,缓存有效时长为60秒
RxHttpPlugins.setCache(cacheDir, 10 * 1024 * 1024, CacheMode.REQUEST_NETWORK_FAILED_READ_CACHE, 60 * 1000);
}
以上代码,通过setCache方法,配置了以下4个参数:
cacheDir:缓存存储目录,路径为:Android/data/{app包名目录}/cache/RxHttpCache
maxSize:缓存最大Size,最大为10M,超过这个size,内部会根据LRU算法,将最少使用的缓存自动清除
CacheMode:全局缓存模式,这里为,先请求网络,失败后,再读取缓存
cacheVaildTime:全局缓存有效时长,为60秒
其中第三个参数,就是设置全局缓存模式。
RxHttp内部共提供了5种缓存模式,如下