Странная ошибка с момента обновления до Android 4.2.2 - Произошла активность IntentReceiver
Я обновил свой Samsung Galaxy Tab 2 до Android 4.2.2 прошлой ночью и с тех пор заметил некоторые странные ошибки в LogCat
, которые не появились до того, как я "обновил".
Я надеялся, что это подчеркивает скрытую ошибку или утечку памяти в моем приложении, но я ничего не могу найти.
Кажется, что это происходит только в том случае, если активность, в которой я работаю, имеет Spinner
и что Spinner
расширяется.
Ошибка следующая.
Activity uk.co.xxxx.xxxx has leaked IntentReceiver com.immersion.androi[email protected]41e4bac0 that was originally registered here. Are you missing a call to unregisterReceiver()?
Кто-нибудь еще видел это? считаете ли вы безопасным игнорировать, поскольку это происходит только на одном из моих устройств?
--- Редактировать ---
И, кстати, я нигде не регистрирую никаких приемников, поэтому ничего не нужно отменить.
Ответы
Ответ 1
У меня есть аналогичная проблема, и я задал этот вопрос на форуме разработчиков Haptic и получил следующий ответ:
Исключение, которое вы видите, является безобидным предупреждением, и ОС будет заботиться освобождения ресурсов, упомянутых в исключении. Другими словами, не нужно волноваться или что-то делать с этим.
Если вам нужны какие-либо другие подробности - перейдите сюда
Ответ 2
Из трассировки стека я бы сказал, что ваша активность (замаскированная здесь) зарегистрировала HapticFeedbackBroadcastReceiver
, который не был правильно выпущен. Обычно это делается в привязке жизненного цикла onPause()
, так что это вызывается при приостановке или закрытии Activity
.
Пример кода:
@Override
protected void onPause() {
super.onPause();
if(broadcastReceiverInstance != null){
unregisterReceiver(broadcastReceiverInstance);
}
}
Если вы не зарегистрировали никаких ресиверов самостоятельно, возможно, система основана на клавиатуре, которая появляется, поэтому может быть хорошей идеей скрыть клавиатуру или любой другой элемент, используемый в вашем приложении, который может активирована тактильная обратная связь. Подумайте о пользовательских клавиатурах, пользовательских представлениях,... что угодно. Чтобы проверить, что более подробно нам потребуется больше кода.