Android 如何正确关闭套接字及其输入流?
假设我有一个连接的套接字和关联的InputStream。完成此连接后,如何正确关闭这些(无泄漏) 我在某处搜索过这个问题,但得到的答案要么模棱两可,要么相互矛盾。我应该吗Android 如何正确关闭套接字及其输入流?,android,sockets,inputstream,Android,Sockets,Inputstream,假设我有一个连接的套接字和关联的InputStream。完成此连接后,如何正确关闭这些(无泄漏) 我在某处搜索过这个问题,但得到的答案要么模棱两可,要么相互矛盾。我应该吗 合上插座(仅限) 是否关闭输入流(仅限) 两个都关了 要在不泄漏任何资源的情况下清理套接字,请调用close(),然后放弃对套接字的任何引用。通常,此建议对所有JavaSocket子类都有效,包括ServerSocket和SSLSocket 正如所解释的,close()同时关闭套接字的InputStream和OutputSt
- 合上插座(仅限)李>
- 是否关闭输入流(仅限)李>
- 两个都关了李>
套接字,请调用close()
,然后放弃对套接字的任何引用。通常,此建议对所有JavaSocket
子类都有效,包括ServerSocket
和SSLSocket
正如所解释的,close()
同时关闭套接字的InputStream
和OutputStream
,因此无需对这些流执行单独的close()
调用
而且,仅关闭输入流
和输出流
,是不够的。
通过对Socket
基类()的源代码的检查,可以说明为什么这是正确的,至少对于Android是如此