Я получил ANR в своем приложении. База на бревнах я обнаружил, что моя заявка была убита с сигналом 3. В трассировки стека я получить информацию, что код:Какая причина: «java.io.IOException: BufferedReader закрыт» на Android?
if (mReceiver != null && mReceiver.isAlive()){
mReceiver.interrupt();
mReceiver = null;
}
if (mReader != null) {
mReader.close();// this line throws exception
mReader = null;
}
занимает в течение длительного времени. В журналах я также получил информацию об исключении, выписанном отмеченной выше строкой.
05-17 14:04:48.343 3327 6535 W System.err: java.io.IOException: BufferedReader is closed
05-17 14:04:48.343 3327 6535 W System.err: at java.io.BufferedReader.checkNotClosed(BufferedReader.java:204)
05-17 14:04:48.343 3327 6535 W System.err: at com.sec.android.app.radio.Receiver.run(Receiver.java:40)
но в http://developer.android.com/reference/java/io/BufferedReader.html#close%28%29 является:
Ничего не сделано, если этот читатель уже закрыт.
так почему это исключение было брошено?
очень похожие журналы я нашел только на http://yatse.leetzone.org/redmine/attachments/258/alogcat.2013-04-05-13-15-17+0100.txt#.UZ3YfNmwf5A
Respondign ниже вопросов: Я разделяю mReader к одной теме: mReceiver но я прервать эту нить перед colse mReader.
Разделяете ли вы читателя по темам? Это полный стек? – Fildor
Вы используете HTTPConnection Stream для чтения данных? –
опубликуйте код, который вы используете для чтения, используя BufferedReader. – bakriOnFire