我创建了一个应用程序,通过蓝牙发送一些数据,我的应用程序正在重新启动我的设备。我发现当我关闭蓝牙套接字时,我关闭了输入和输出流(我会关闭流然后关闭套接字)。回顾一下蓝牙这个例子http://developer.android.com/resources/samples/BluetoothChat/index.html
他们也从不关闭他们的输入/输出流。你们中的任何人/ gals可以帮助我解决为什么不需要关闭输入/输出流或者我错过了什么。
答案 0 :(得分:0)
我相信这是因为当你关闭一个流时,那么链接到它的任何底层流或套接字(也就是传递给它的构造函数)也会被关闭。
http://www.javapractices.com/topic/TopicAction.do?Id=8
与BufferedReader相同。关闭BufferedReader时,它将关闭它用于“换行”的任何底层流/套接字。事实上,我最近需要一个BufferedReader,我可以关闭而不让它关闭底层流,为了实现这一点,我必须扩展BufferedReader并覆盖close()
以不执行任何操作。
答案 1 :(得分:0)
尝试您在设备上提到的示例,重新启动设备吗?我认为你做错了吃了内存所以设备重新启动