Я создал приложение, которое отправляет некоторые данные через bluetooth, и мое приложение перезагрузило мое устройство. И я выяснил, что это было связано с тем, что я закрывал входные и выходные потоки, когда закрывал сокеты bluetooth (я бы закрыл потоки, затем сокеты). И оглядываясь на пример bluetoothChat, найденный здесь http://developer.android.com/resources/samples/BluetoothChat/index.html
они также никогда не закрывают свои потоки ввода/вывода. Может ли кто-нибудь из вас, парни/девушки, помочь мне в том, почему не нужно закрывать потоки ввода-вывода или я что-то упускаю.
Я верю в это, потому что когда вы закрываете поток, тогда закрывается любой базовый поток или сокет, который был прикован к нему (то есть передан его конструктору).
http://www.javapractices.com/topic/TopicAction.do?Id=8
Это то же самое с BufferedReader. Когда вы закроете BufferedReader, он закроет все базовые потоки/сокеты, которые он использовал для "обертывания". На самом деле мне недавно понадобилось иметь BufferedReader, который я мог бы закрыть, не закрыв базовый поток, и для этого мне пришлось расширить BufferedReader и переопределить функцию close()
чтобы не выполнять никаких действий.
попробуйте образец, упомянутый на вашем устройстве, перезагрузите устройство? я думаю, что вы делаете что-то неправильно, что ест память, поэтому устройство перезагружается