Что такое режим разработчика Do not keep activities?
Режим разработчика «Do not keep activities» в Android — это системная опция, которая заставляет операционную систему немедленно уничтожать каждую Activity, как только она уходит в фон (т.е. после onStop()).
Основная цель
Тестирование устойчивости приложения к пересозданию Activity.
Проверка правильного сохранения и восстановления состояния (
savedInstanceState, ViewModel, локальные данные).Выявление ошибок, которые обычно не проявляются при нормальном поведении Android (например, утечки памяти, NullPointerException при восстановлении UI).
Как работает
Пользователь открывает Activity A → Activity B.
Activity A уходит в фон → сразу уничтожается системой (
onDestroy()вызывается).При возврате к 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?