Tôi đang sử dụng OkHttp 3, và tôi tiếp tục nhận được rò rỉ cảnh báo kết nối:OkHttp: tránh kết nối bị rò rỉ cảnh báo
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
Mỗi lần tôi nhận được một ResponseBody
, tôi hoặc gọi .string()
được cho là đóng dòng đối với tôi, hoặc tôi một cách rõ ràng đóng nó trong một khối finally
, theo cách sau:
ResponseBody responseBody = response.body();
try (Reader responseReader = responseBody.charStream()) {
...
}
finally {
responseBody.close();
}
ứng dụng My tận dụng cường độ cao của mạng, nhưng cảnh báo rằng xuất hiện thường xuyên. Tôi chưa bao giờ quan sát thấy bất kỳ vấn đề nào do rò rỉ được cho là này, nhưng tôi vẫn muốn hiểu nếu và những gì Tôi đang làm sai.
Có ai có thể làm sáng tỏ điều này không?
Nếu bạn đọc câu hỏi của tôi, mà bạn sẽ thấy rằng tôi đã làm chính xác này ... – Alphaaa
theo dõi vấn đề này, bạn sẽ giúp bạn có được trả lời, không có mã đầy đủ vào đó https: // github. com/square/okhttp/issues/2311 –
Cảm ơn bạn đã liên kết, nhưng vấn đề chỉ là vì người đăng không đóng tất cả nội dung cho các câu trả lời không phải 200. Ở đây với khối 'cuối cùng' tôi nên bắt tất cả các trường hợp. – Alphaaa