【发布时间】:2016-11-17 17:38:20
【问题描述】:
我正在使用 OkHttp 3,但我不断收到泄露的连接警告:
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();
}
我的应用程序大量使用网络,但该警告经常出现。我从未观察到由这种假定的泄漏引起的任何问题,但我仍然想了解 if 和 what 我做错了什么。
有人能解释一下吗?
【问题讨论】:
标签: java memory-leaks okhttp3