Что может влиять на сохранение состояния View

«Что может влиять на сохранение состояния View» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

На сохранение состояния View влияют:

  1. onSaveInstanceState() - сохраняет временные данные при уничтожении активити (например, поворот экрана). Нужно переопределить и сохранить данные в Bundle.

  2. View с ID - только View с установленным android:id сохраняют состояние автоматически.

  3. Поведение View - не все View сохраняют состояние по умолчанию (например, EditText сохраняет текст, а Button - нет).

Пример сохранения состояния:

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
    outState.putString("KEY", importantData)
}
  1. Конфигурационные изменения - при повороте система уничтожает и пересоздает активити, но сохраняет View-состояние.

  2. Фрагменты - setRetainInstance(true) сохраняет экземпляр фрагмента, но не его View.