Жизненный цикл Activity — это набор состояний и переходов между ними, через которые проходит каждый экземпляр Activity с момента создания до уничтожения. Он определяется набором callback-методов.
Основные callback-методы жизненного цикла:
onCreate(): Вызывается при первом создании Activity. Здесь происходит инициализация UI, привязка данных и другие одноразовые действия.onStart(): Вызывается, когда Activity становится видимой для пользователя, но еще не получила фокус.onResume(): Вызывается, когда Activity получает фокус и становится активной. Здесь обычно начинаются анимации и другие интерактивные действия.onPause(): Вызывается, когда Activity теряет фокус, но еще видна (например, полупрозрачное диалоговое окно поверх). Здесь следует остановить ресурсоемкие операции.onStop(): Вызывается, когда Activity больше не видна пользователю. Здесь сохраняются не сохраненные данные и освобождаются ресурсы, которые больше не нужны.onDestroy(): Вызывается перед тем, как Activity будет уничтожена. Здесь освобождаются все оставшиеся ресурсы.onRestart(): Вызывается после onStop() при повторном отображении Activity. За ним следует onStart().Графически жизненный цикл можно представить так:
Created -> Started -> Resumed -> Paused -> Stopped -> Destroyed
Также существуют переходы:
onStart())onResume())onRestart())Важно правильно управлять состоянием Activity в этих callback-методах, чтобы избежать утечек памяти и обеспечить корректное поведение приложения при изменении конфигурации или переключении между Activity. Для сохранения состояния используется onSaveInstanceState() (перед onStop()) и восстановление происходит в onCreate() или onRestoreInstanceState() (после onStart()).
Пример использования onSaveInstanceState():
kotlin