Искал эту проблему некоторое время безрезультатно:
Как определить, что фрагмент восстанавливается из backstack?
Я использую библиотеку совместимости и ListFragment внутри FragmentActivity. Когда элемент внутри ListFragment выбран, запускается новый фрагмент для замены ListFragment.
Я заметил, что, когда FragmentActivity останавливается, вызывается onSaveInstanceState фрагмента. Но когда фрагмент помещается в задний стек с помощью FragmentTransaction, onSaveInstanceState не вызывается, тогда методы жизненного цикла onCreateView и onActivityCreated вызываются с нулевым сохраненным набором переменных.
Я спрашиваю это, потому что я хочу загрузить некоторые данные, когда фрагмент создается или восстанавливается, но не так, когда пользователь возвращается через. backstack.
Я смотрел на Как проверить, был ли фрагмент восстановлен из backstack?
но хочу добавить больше деталей в надежде, что это вызовет ответ.
Edit:
только что заметил http://developer.android.com/reference/android/app/Fragment.html#onSaveInstanceState(android.os.Bundle)
говорит
Обратите внимание: этот метод может быть вызван в любое время до onDestroy (). Во многих ситуациях фрагмент может быть в основном разрушен (например, когда он помещен в задний стек без отображения пользовательского интерфейса), но его состояние не будет сохранено до тех пор, пока его собственное действие фактически не должно будет сохранить свое состояние.
Так что оSaveInstanceState определенно не может быть и речи ...