国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

okhttp3緩存實踐

2019-11-09 17:04:20
字體:
來源:轉載
供稿:網友
離線時使用cache,在線時訪問網絡并更新cacheOkHttpClient設置cache后,response自動進行緩存;通過攔截器,離線時request添加頭信息header(“Cache-Control”, “only-if-cached”)強制使用緩存這些方法不支持cache:public static boolean invalidatesCache(String method) { return method.equals(“POST”) || method.equals(“PATCH”) || method.equals(“PUT”) || method.equals(“DELETE”) || method.equals(“MOVE”); }如果不想使用okhttp的cache機制,也可以自己通過對象序列化等方式自己保存reponse結果 //離線緩存,在線獲取最新數據 File httpCacheDir = new File(getActivity().getExternalCacheDir(), "response"); Cache cache = new Cache(httpCacheDir, 10 * 1024 * 1024); OkHttpClient client = new OkHttpClient.Builder() .addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request request = chain.request(); if(!isNetWorkAvailable()){ request = request.newBuilder() .cacheControl(CacheControl.FORCE_CACHE) .build(); } return chain.PRoceed(request); //無效,需結合addNetworkInterceptor使用 /*Response response = chain.proceed(request); if(isNetWorkAvailable()){ return response.newBuilder() .header("Cache-Control", "public, max-age=" + 0) //有網絡時設置緩存超時時間0個小時 .removeHeader("Pragma") //清除頭信息,因為服務器如果不支持,會返回一些干擾信息,不清除下面無法生效 .build(); }else { return response.newBuilder() .header("Cache-Control", "public, only-if-cached, max-stale=" + Integer.MAX_VALUE) .removeHeader("Pragma") .build(); }*/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 轮台县| 西林县| 紫云| 宣汉县| 吴桥县| 济源市| 洞口县| 阳泉市| 石阡县| 永川市| 奉化市| 绥江县| 甘谷县| 玉林市| 南川市| 灵武市| 新和县| 海门市| 云阳县| 饶河县| 界首市| 洪泽县| 镇康县| 海宁市| 库伦旗| 和硕县| 瑞昌市| 三河市| 准格尔旗| 无为县| 桃源县| 深州市| 乐亭县| 阆中市| 三原县| 越西县| 崇义县| 南乐县| 满城县| 绥棱县| 酒泉市|