Ответ
FragmentManager автоматически сохраняет и восстанавливает состояние фрагментов при смене конфигурации (например, повороте экрана). Это происходит благодаря:
- FragmentManager сохраняет стек фрагментов в Bundle через onSaveInstanceState()
- При воссоздании Activity FragmentManager восстанавливает стек и все добавленные фрагменты
- Фрагменты с setRetainInstance(true) сохраняют свои экземпляры (но не View)
Пример:
class MyFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
retainInstance = true // сохранит экземпляр фрагмента
}
}
Важно: View пересоздаются, поэтому нужно обрабатывать восстановление UI в onCreateView(). Для сохранения данных лучше использовать ViewModel.