Фрагмент жизненного цикла: когда "ondestroy" и "ondestroyview" не называются?

Представьте себе этот сценарий: у меня есть Fragment в Pager. Я пытаюсь переключиться на другие приложения, так что Activity, владеющий моим пейджером (и моим фрагментом), будет в конечном итоге остановлен и временно уничтожен.

Итак, когда я вернусь в свою активность, вызываются обратные вызовы Fragment onCreate, oncreateview и т.д. Но ни один из обратных вызовов Fragment onDestroy не был вызван раньше! Кажется, что после "onStop" фрагмент уничтожается сразу. Это нормальное поведение? Может быть, потому, что Activity уничтожается без вызова его onDestroy?

Ответ 1

Взгляните на этот вопрос: Зачем внедрять onDestroy(), если он не может быть вызван?

В принципе, onDestroy() гарантируется только при вызове finish(). В противном случае onDestroy() не может быть вызван до тех пор, пока система не сочтет это необходимым. Возможно, вам захочется взглянуть на то, что ваша "закрывающая" логика включена в onPause() или onStop().