Middle
23
0
questionbank

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

Ответ от нейросети sobes.tech

При смене позиций (повороте экрана или других изменениях конфигурации) на Android происходит уничтожение текущей Activity и создание новой.

Что происходит:

  • Вызываются жизненные циклы старой Activity: onPause(), onStop(), onDestroy().
  • Старая Activity удаляется из памяти.
  • Создается новая Activity.
  • Вызываются жизненные циклы новой Activity: onCreate(), onStart(), onResume().

Специфика для QA:

  • Потеря данных: Несохраненные данные в полях ввода, выбранные элементы списка и т.д. могут быть утеряны, если не реализована их сохранность.
  • Состояние UI: Видимость элементов, скролл позиции, выбранные вкладки и другое состояние UI может сбрасываться до дефолтного.
  • Фоновые операции: Запущенные фоновые задачи (например, загрузка данных) могут прерваться или некорректно завершиться.
  • Производительность: Многократные смены конфигурации могут привести к замедлению работы приложения из-за постоянного пересоздания Activity.
  • Утечки памяти: Неправильная работа с ресурсами (например, Listener'ы, не отписанные в onDestroy()) может привести к утечкам памяти.

Как обрабатывается разработчиками (и что нужно проверять QA в первую очередь):

  • Сохранение состояния: Использование onSaveInstanceState(), onRestoreInstanceState(), ViewModel, Android Architecture Components (AAC).
    java

При смене позиций (повороте экрана или других изменениях конфигурации) на Android происходит уничтожение текущей Activity и создание новой.

Что происходит:

  • Вызываются жизненные циклы старой Activity: onPause(), onStop(), onDestroy().
  • Старая Activity удаляется из памяти.
  • Создается новая Activity.
  • Вызываются жизненные циклы новой Activity: onCreate(), onStart(), onResume().

Специфика для QA:

  • Потеря данных: Несохраненные данные в полях ввода, выбранные элементы списка и т.д. могут быть утеряны, если не реализована их сохранность.
  • Состояние UI: Видимость элементов, скролл позиции, выбранные вкладки и другое состояние UI может сбрасываться до дефолтного.
  • Фоновые операции: Запущенные фоновые задачи (например, загрузка данных) могут прерваться или некорректно завершиться.
  • Производительность: Многократные смены конфигурации могут привести к замедлению работы приложения из-за постоянного пересоздания Activity.
  • Утечки памяти: Неправильная работа с ресурсами (например, Listener'ы, не отписанные в onDestroy()) может привести к утечкам памяти.

Как обрабатывается разработчиками (и что нужно проверять QA в первую очередь):

  • Сохранение состояния: Использование onSaveInstanceState(), onRestoreInstanceState(), ViewModel, Android Architecture Components (AAC).
    java

Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.

androidswipedrag-and-dropviewpageruser-interfacegestures