1
を使用してこの警告が出ました。Retrofit、私は多くの答えをstackoverflowから見つけました。しかし、彼らの多くは、OkHttpについて話しています。Retrofit OkHttp xxxへの接続がリークしました
Retrofitを使用したときにレスポンスボディで何もしなかったため、改造の方法が見つかりませんでした。私はカスタムインターセプタを持っている
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();
}
が、私はそれがこの警告の理由だとは思わない:
は、ここに私のカスタムOkHttpClientです。
はここだけretrofit2はレスポンスボディをしなかった、私は理由が問題を引き起こす何知りたいサーバー
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);
}
とのセッションを維持するためにヘッダを追加し、私のインターセプタです。私のために閉じる?
この警告を無視すると、何か悪いことはありますか?それについて間違っている。
例外を除きログを表示 – raj
11-11 09:47:57.936 1412-1412 /? W/ContextImpl:修飾されたユーザのいないシステムプロセスでメソッドを呼び出す:android.app.ContextImpl.sendBroadcast:1053 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への接続がリークしました。あなたは応答本文を閉じることを忘れました... –