問題
順應時代潮流,我用了retrofit做網絡.
但是發現網絡請求的時候 ,偶見多次請求
經測試 伺服器debug 網絡差 出現幾率比較高
導緻伺服器資料重複
retrofit初始化如下:
mRetrofit = new Retrofit.Builder()
.baseUrl(Api.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
解決辦法
初步判斷 是網絡差時架構主動請求 直至3次失敗
看了retrofit源碼發現,并沒有類似處理
後來懷疑是okHttp的設定
網上查了下資料最終找到了解決方法
資料點選這裡(貌似要科學上網..)
代碼如下:
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.retryOnConnectionFailure(false)
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)
.build();
mRetrofit = new Retrofit.Builder()
.baseUrl(Api.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
大概就是這樣目前解決了問題