Назад к вопросам
Junior — Middle
74
Каким образом управляется жизненный цикл фрагмента в Android при смене конфигурации устройства?
Компании, где спрашивали
Viasat tech
Ответ от нейросети
sobes.tech AI
При смене конфигурации устройства (например, поворот экрана) активность и её фрагменты по умолчанию уничтожаются и создаются заново. Жизненный цикл фрагмента при этом проходит следующие этапы:
- onPause() → onStop() → onDestroyView() → onDestroy() → onDetach() — фрагмент уничтожается вместе с активностью.
- После пересоздания активности создаётся новый экземпляр фрагмента, вызываются методы onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume().
Чтобы сохранить состояние фрагмента при смене конфигурации, можно использовать методы onSaveInstanceState() для сохранения данных и восстанавливать их в onCreate() или onViewCreated(). Также можно использовать setRetainInstance(true), чтобы сохранить сам фрагмент при пересоздании активности, но этот метод устарел и не рекомендуется.
Для более гибкого управления часто применяют ViewModel, которая переживает смену конфигурации и хранит данные отдельно от жизненного цикла фрагмента.