美文网首页
OKHttp使用缓存

OKHttp使用缓存

作者: 浪里_个郎 | 来源:发表于2020-06-13 13:39 被阅读0次

首先设置缓存文件夹:

//缓存文件夹
File cacheFile = new File(getExternalCacheDir().toString(),"cache");
//缓存大小
int cacheSize = 10 * 1024 * 1024;
//创建缓存对象
Cache cache = new Cache(cacheFile,cacheSize);
//设置缓存
OkHttpClient client = new OkHttpClient.Builder()
        .cache(cache)
        .build();

设置缓存策略:

final CacheControl.Builder builder = new CacheControl.Builder();
        builder.maxAge(100, TimeUnit.MILLISECONDS); // 设置缓存的最大有效时间为100毫秒
        CacheControl cache = builder.build();
        final Request request = new Request.Builder().cacheControl(cache).url(requestUrl).build();

原理:
通过缓存拦截器CacheInterceptor拦截请求,如果有缓存,则取出缓存数据放入Response。其中使用CacheStrategy获取缓存策略。


相关文章

网友评论

      本文标题:OKHttp使用缓存

      本文链接:https://www.haomeiwen.com/subject/aiyatktx.html