Что такое режим разработчика Do not keep activities?

Режим разработчика «Do not keep activities» в Android — это системная опция, которая заставляет операционную систему немедленно уничтожать каждую Activity, как только она уходит в фон (т.е. после onStop()).


Основная цель

  • Тестирование устойчивости приложения к пересозданию Activity.

  • Проверка правильного сохранения и восстановления состояния (savedInstanceState, ViewModel, локальные данные).

  • Выявление ошибок, которые обычно не проявляются при нормальном поведении Android (например, утечки памяти, NullPointerException при восстановлении UI).


Как работает

  1. Пользователь открывает Activity A → Activity B.

  2. Activity A уходит в фон → сразу уничтожается системой (onDestroy() вызывается).

  3. При возврате к Activity A → она пересоздаётся с нуля, вызывая onCreate() с возможным savedInstanceState.

То есть ваше приложение должно корректно сохранять состояние и восстанавливать его, иначе пользователь потеряет данные или столкнётся с крэшем.


Что проверять при включенном режиме

  • Сохранение состояния UI: текст в полях, scroll position, выбранные элементы.

  • ViewModel и LiveData: они остаются живыми только для текущего процесса; проверять корректность восстановления.

  • Navigation / back stack: переходы между экранами не должны ломаться.

  • Асинхронные задачи: AsyncTask, coroutines, network-запросы — убедиться, что они корректно продолжаются или пересоздаются.

  • Обработка savedInstanceState: все важные данные должны быть сохранены.


Применение в QA

  • Активируется в Settings → Developer options → Do not keep activities.

  • Используется для тестов регрессии и стресс-тестирования UI, особенно перед релизом.

  • В сочетании с другими инструментами (например, «Limit background processes») помогает выявить ошибки, связанные с памятью, lifecycle и неправильной логикой восстановления данных.


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

Last updated

Was this helpful?