Мои действия в основном приложения «уничтожаются». У меня есть сообщение Log в файле destroy, которое печатается. Но пути, на которых заканчивается финиш, не выполняются.андроид: трассировка стека для уничтожения
Так что я хочу знать, как я могу узнать, какой вызванный destroy() будет вызван. Является ли это законченным из моего кода или любых других системных ошибок.
@Override
protected void onDestroy() {
try {
super.onDestroy();
Log.i("StartUpActivity", "OnDestroy");
if (asyncTaskForSync != null && !asyncTaskForSync.isCancelled())
asyncTaskForSync.cancel(true);
if (DatabaseManager.getInstance() != null)
DatabaseManager.getInstance().close();
if (Utils.imageLoader != null)
Utils.imageLoader.stopThread();
} catch (Exception ex) {
ex.printStackTrace();
}
}
Примечание: Ответ: я держал андроид: noHistory = "истина" для моего запуска деятельности. Я хотел, чтобы эта страница снова не отображалась в обратном прессе из других видов деятельности. И я держал все в чистоте, как db, близко к уничтожению этой активности. SO из-за nohistory = true, эта активность автоматически терялась, что приводило к закрытию всех ресурсов и, таким образом, приводило к исключениям в моем приложении.
Я исправился, удалив этот флаг и переопределив второе действие.
Спасибо за ваши ответы
... где вы назвали финиш() в вашей программе? onDestroy будет вызываться только тогда, когда вы нажмете кнопку возврата по умолчанию на своем мобильном устройстве или кнопку, на которой вы закончили запись или можете быть в вашей asyncTask после завершения определенного события, как это видно из вашего кода – Maverick
спасибо, моя проблема была другой. Спасибо за подсказки и ваше время. Я отредактировал свою очередь с ответом – png