Название: А что если не снимать регистрацию ContentObserver и BroadcastReceiver? Отправлено: Гурман от Ноябрь 15, 2016, 20:28 В приложении всё время надо отлавливать соответствующие события. Поэтому программно подвесил ловушки, всё как бы работает. Но при выходе часто вылетают ошибки - то в отмене регистрации ContentObserver, то аналогично для BroadcastReceiver. Пытался отменять регистрацию в самых разных местах, от функции main() приложения, и до обработчика сигнала aboutToExit() - всё одинаково. В ошибке или "нулевой указатель" или "приёмник не зарегистрирован". Очевидно это как-то связано с работой с памятью Dalvik-машины. Ошибок может вообще не быть при нескольких последовательных выходах, а могут быть при каждом. Как это побороть - пока не понятно. Но возник вопрос - а может при завершеннии приложения вообще не обязательно снимать эти обработчики? Ну завершится оно, виртуальная машина их сама по идее снимет. Или нет?
PS: Закомментировал отмену регистрации обоих обработчиков - при последовательных запусках-завершениях не падает, утечку памяти пока не наблюдаю. |