【发布时间】:2018-03-26 11:45:12
【问题描述】:
从 android 创建 HTTPURLConnection 时,是否有人对何时关闭连接以及何时断开连接有任何经验?是否应该始终使用断开连接,以便可以从池中重用连接而不是重新创建连接?使用断开连接与关闭是否有任何影响/副作用? android 文档在这方面似乎含糊不清....
【问题讨论】:
标签: java android performance httpurlconnection
从 android 创建 HTTPURLConnection 时,是否有人对何时关闭连接以及何时断开连接有任何经验?是否应该始终使用断开连接,以便可以从池中重用连接而不是重新创建连接?使用断开连接与关闭是否有任何影响/副作用? android 文档在这方面似乎含糊不清....
【问题讨论】:
标签: java android performance httpurlconnection
我认为你应该总是在 finally 块中调用 disconnect 。 android 文档指出,您应该使用断开连接,这有助于尽可能重用底层套接字。 来自http://developer.android.com/reference/java/net/HttpURLConnection.html
“断开连接。读取响应正文后,应通过调用 disconnect() 关闭 HttpURLConnection。断开连接会释放连接所持有的资源,以便它们可以被关闭或重用。”
【讨论】:
close() 如何?没有HttpURLConnection.close() 方法。您必须关闭输入流,但这可能会也可能不会关闭底层连接。
disconnect() '表示在不久的将来不太可能向服务器发出其他请求。换句话说,它关闭连接,如果你不调用它,连接可以被池化。