java什么时候会放弃与URL的连接?我在URL或URLConnection上都没有看到close()方法,所以它会在请求完成后立即释放连接吗?我主要是想看看我是否需要在异常处理程序中进行任何清理。
try {
URL url = new URL("http://foo.bar");
URLConnection conn = url.openConnection();
// use the connection
}
catch (Exception e) {
// any clean up here?
}
发布于 2008-11-07 17:53:00
如果强制转换为HttpURLConnection,则有一个disconnect()方法。如果连接空闲,它可能会立即断开连接。不能保证。
发布于 2021-12-10 13:21:00
我不得不一次下载几个搜索者的文件,然后遇到了这个问题。
您可以使用以下命令检查您的应用程序的打开描述符:
adb shell ps
在列表中找到您的应用程序PID,然后使用另一个命令:
adb shell run-as YOUR_PACKAGE_NAME ls -l /proc/YOUR_PID/fd
我在通常的发布中看到大约150个开放描述符。在下载文件时会出现700+。它们的数量只有在几分钟后才会减少,看起来安卓在后台释放了它们,而不是当你可以在流上使用close
时。
所以我们不能确定连接实际关闭的时间。
https://stackoverflow.com/questions/272910
复制相似问题