Sobes.tech
Back to questions
Junior — Middle
75

Каким образом управляется жизненный цикл фрагмента в Android при смене конфигурации устройства?

Companies where asked
Viasat tech

Answer from AI

sobes.tech AI

При смене конфигурации устройства (например, поворот экрана) активность и её фрагменты по умолчанию уничтожаются и создаются заново. Жизненный цикл фрагмента при этом проходит следующие этапы:

  1. onPause() → onStop() → onDestroyView() → onDestroy() → onDetach() — фрагмент уничтожается вместе с активностью.
  2. После пересоздания активности создаётся новый экземпляр фрагмента, вызываются методы onAttach() → onCreate() → onCreateView() → onActivityCreated() → onStart() → onResume().

Чтобы сохранить состояние фрагмента при смене конфигурации, можно использовать методы onSaveInstanceState() для сохранения данных и восстанавливать их в onCreate() или onViewCreated(). Также можно использовать setRetainInstance(true), чтобы сохранить сам фрагмент при пересоздании активности, но этот метод устарел и не рекомендуется.

Для более гибкого управления часто применяют ViewModel, которая переживает смену конфигурации и хранит данные отдельно от жизненного цикла фрагмента.