Bluetoothchat Android входные / выходные потоки не закрыты - PullRequest
1 голос
/ 26 июля 2011

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

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

Ответы [ 2 ]

0 голосов
/ 26 июля 2011

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

0 голосов
/ 26 июля 2011

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

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

То же самое с BufferedReader. Когда вы закрываете BufferedReader, он закрывает любой основной поток / сокет, который использовался для «обтекания». Фактически мне недавно потребовалось иметь BufferedReader, который я мог бы закрыть без , когда он закрывал основной поток, и для этого мне пришлось расширить BufferedReader и переопределить close(), чтобы не выполнять никаких действий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...