Android: Activity.onDestroy () не вызывается, когда Dalvik убивает это Activity

Я не понимаю Activity.onDestroy () . Мне нужно освободить некоторые ресурсы, когда мое Activity уничтожено, но похоже, что onDestroy () вызывается только тогда, когда я нажимаю клавишу «Назад», но не тогда, когда Dalvik убивает мою Activity. Я протестировал это, просто добавив log:

Log.v ("my_tag", "onDestroy () called");

и то же самое в методе onCreate ():

Log.v ("my_tag" , "onCreate () called");

Затем я запускаю свою Activity и вижу в журналах: onCreate () called . Я нажимаю кнопку «Назад», а затем снова запускаю Activity, после чего вижу:

onDestroy() called
onCreate() called 

Затем я нажимаю клавишу «Home» и снова перехожу в свою Activity, журналы не меняются. Хорошо здесь.

Затем я снова нажимаю клавишу «Домой» и запускаю несколько действительно «тяжелых» приложений. В журналах нет ничего о onDestroy (), но когда я снова начинаю свою Activity, я вижу в журналах: onCreate (), называемый ! Итак, onDestroy () не был вызван, но моя Activity была убита. Что не так?

9
задан Dmitry Frank 29 December 2011 в 10:59
поделиться