Начиная с документации:
public void setRetainInstance (логическое сохранение)
Управляет тем, сохраняется ли экземпляр фрагмента при повторном создании Activity (например, при изменении конфигурации). Это можно использовать только с фрагментами, не находящимися в заднем стеке. Если установлено, жизненный цикл фрагмента будет немного отличаться при воссоздании активности:
- onDestroy() не будет вызываться (но onDetach() все равно будет вызываться, потому что фрагмент отсоединяется от текущей активности).
- onCreate(Bundle) не будет вызываться, так как фрагмент не создается заново.
- onAttach(Activity) и onActivityCreated(Bundle) по-прежнему будут вызываться.
У меня есть несколько вопросов:
Фрагмент также сохраняет свой вид или он будет воссоздан при изменении конфигурации? Что именно означает «сохранился»?
Будет ли фрагмент уничтожен, когда пользователь покинет активность?
Почему это не работает с фрагментами в заднем стеке?
В каких случаях имеет смысл использовать этот метод?