我使用OkHttp 3,我不斷收到泄露連接警告:OkHttp:避免泄露連接警告
WARNING: A connection to https://help.helpling.com/ was leaked. Did you forget to close a response body?
Jul 14, 2016 6:57:09 PM okhttp3.ConnectionPool pruneAndGetAllocationCount
每次我得到一個ResponseBody
,我要麼調用.string()
據稱關閉流對我來說,還是我明確地關閉它在finally
塊,以下列方式:
ResponseBody responseBody = response.body();
try (Reader responseReader = responseBody.charStream()) {
...
}
finally {
responseBody.close();
}
我的應用使得大量使用網絡的,然而這一警告經常出現。我從來沒有觀察到這個假定的泄漏造成的任何問題,但我仍然想了解如果和什麼我做錯了。
任何人都可以對此有所瞭解嗎?
如果你讀了我的問題,你會看到,我已經這樣做正是這一點... – Alphaaa
遵循這個問題,你會得到你的答案,有對 HTTPS沒有全碼:// github上。 com/square/okhttp/issues/2311 –
謝謝你的鏈接,但是那裏的問題只是因爲海報沒有關閉非200響應的身體。在這裏用'finally'塊,我應該抓住所有的情況。 – Alphaaa