Как отлаживать onDestroy (), система Android убивает приложение во время паузы в отладчике

У меня есть ошибка, которую я пытаюсь проанализировать, которая возникает, когда метод Activity onDestroy () вызывается после нажатия кнопки «Назад». Я поставил контрольные точки в код нарушения (используя Eclipse). Отладчик приостанавливает приложение в точке останова, но система Android также снимает приложение с экрана и возвращается на рабочий экран телефона. После того, как приложение приостановлено на 10 секунд, поток приложения, похоже, будет уничтожен системой Android, потому что отладчик внезапно отключается.

Любые идеи о том, как заставить систему Android делать это? Мне нужно сохранить приложение в живых, чтобы я мог войти в отладчик, посмотреть на переменные и т. Д.

В телефоне работает Android 2.3.5.

Обходной путь, который я нашел, заключается в том, чтобы поместить startActivity() в onDestroy() (до super.onDestroy() ), который запускает фиктивный экземпляр Activity, просто чтобы сохранить приложение в живых. Система Android не будет мусором собирать поток приложений, потому что в нем все еще работает Activity (новое фиктивное действие). Это, в свою очередь, позволяет отлаживать вещи, потому что соединение отладчика с потоком не будет потеряно.

Если в телефоне появляется диалоговое окно, в котором приложение не отвечает (Force Close или Wait), не нажимайте «Подождите», просто оставьте его в покое. Казалось, что нажатие кнопки «Подождите» привело к тому, что поток приложения был убит, и для фиктивного Activity был создан новый поток.

Вы можете попробовать super.onDestroy() останова на super.onDestroy() , но я подозреваю, что у вас будет такая же удача. 🙁

Android не позволит вам задерживаться в onDestroy , это будет тайм-аут, поэтому постарайтесь быстрее завершить работу. onDestroy() предназначен только для освобождения ресурсов и не всегда вызывается перед прекращением; Данные должны сохраняться в onPause() или onStop() . https://developer.android.com/training/basics/activity-lifecycle/stopping.html

Добавление. Другие варианты включают использование фоновой службы для некоторой части работы или ручную обработку кнопки «Назад», чтобы дать вам больше времени, но это может негативно повлиять на работу пользователя.

http://www.stanford.edu/class/cs193a/03/

Отправленный с моего телефона, пожалуйста, прервите мои большие пальцы.