Sobes.tech
Junior — Middle

Wie wird der Lebenszyklus eines Fragments in Android bei einer Änderung der Geräte-Konfiguration verwaltet?

sobes.tech KI

Antwort von AI

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

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

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

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