Bluetoothchat Android входные / выходные потоки не закрыты

1

Я создал приложение, которое отправляет некоторые данные через bluetooth, и мое приложение перезагрузило мое устройство. И я выяснил, что это было связано с тем, что я закрывал входные и выходные потоки, когда закрывал сокеты bluetooth (я бы закрыл потоки, затем сокеты). И оглядываясь на пример bluetoothChat, найденный здесь http://developer.android.com/resources/samples/BluetoothChat/index.html

они также никогда не закрывают свои потоки ввода/вывода. Может ли кто-нибудь из вас, парни/девушки, помочь мне в том, почему не нужно закрывать потоки ввода-вывода или я что-то упускаю.

Теги:
bluetooth

2 ответа

0
Лучший ответ

Я верю в это, потому что когда вы закрываете поток, тогда закрывается любой базовый поток или сокет, который был прикован к нему (то есть передан его конструктору).

http://www.javapractices.com/topic/TopicAction.do?Id=8

Это то же самое с BufferedReader. Когда вы закроете BufferedReader, он закроет все базовые потоки/сокеты, которые он использовал для "обертывания". На самом деле мне недавно понадобилось иметь BufferedReader, который я мог бы закрыть, не закрыв базовый поток, и для этого мне пришлось расширить BufferedReader и переопределить функцию close() чтобы не выполнять никаких действий.

0

попробуйте образец, упомянутый на вашем устройстве, перезагрузите устройство? я думаю, что вы делаете что-то неправильно, что ест память, поэтому устройство перезагружается

Ещё вопросы

Сообщество Overcoder
Наверх
Меню