1
當我使用Retrofit時,我發現這個警告,我從stackoverflow找到很多答案。但其中很多人都在談論OkHttp。Retrofit OkHttp與xxx的連接被泄露
當我使用Retrofit時,我沒有對響應體做任何事情,在改造中我沒有找到任何方法。
這裏是我的自定義OkHttpClient:
private OkHttpClient getOkHttpClient(){
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
builder.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
builder.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
builder.addInterceptor(new ZCommonIntercepter());
return builder.build();
}
我有一個自定義攔截器,但我不認爲這是此警告的原因。
這裏是我的攔截器,只需添加一個頭,以保持與服務器
Override
public Response intercept(Chain chain) throws IOException {
Response originalResponse = chain.proceed(chain.request());
if (!isFirst) {
if (!originalResponse.headers("Set-Cookie").isEmpty()) {
ConstantPool.SESSION_HIDUI = originalResponse.header("Set-Cookie");
}
}
isFirst = true;
Request request = chain.request()
.newBuilder()
.removeHeader("Cookie")
.addHeader("Cookie", ConstantPool.SESSION_HIDUI)
.build();
return chain.proceed(request);
}
我想知道是什麼原因導致問題的會議上,並沒有在retrofit2做響應主體。爲我關閉?
如果我忽略這個警告,會不會有什麼不好的事情發生?關於這個錯誤。
顯示您的日誌與例外 – raj
11-11 09:47:57.936 1412-1412 /? W/ContextImpl:在沒有合格用戶的情況下調用系統進程中的方法:android.app.ContextImpl.sendBroadcast:105 com.android.server.am.OppoActivityStackHelper.sendIsHomeModeIntent:65 com.android.server.am.OppoActivityStackHelper.handleSendHomeMode: 92 com.android.server.am.ActivityStack.resumeTopActivityLocked:1561 11-11 09:47:58.536 4462-4496 /? W/okhttp3.OkHttpClient:與http://xxx.xxx.xx.xx/的連接被泄露。你忘了關閉響應機構嗎? –
只是連接到xxx.xxx.xx.xx被泄露。您忘記關閉響應主體... –