Жизненный цикл Activity в Android

Жизненный цикл Activity
в Android — это последовательность состояний, через которые проходит активность от момента ее создания до уничтожения. Управление жизненным циклом позволяет правильно управлять ресурсами и состоянием приложения в зависимости от его видимости и взаимодействия с пользователем. Основные методы жизненного цикла Activity
:
-
onCreate()
:- Вызывается при создании активности. Здесь происходит инициализация компонентов (например, настройка интерфейса через
setContentView()
), восстановление состояния активности и инициализация необходимых объектов. - Этот метод вызывается один раз за жизненный цикл активности.
- Вызывается при создании активности. Здесь происходит инициализация компонентов (например, настройка интерфейса через
-
onStart()
:- Активность становится видимой для пользователя, но еще не доступна для взаимодействия. В этот момент она готовится к показу на экране.
- Если активность переходит в фоновый режим и потом возвращается, этот метод будет вызван повторно.
-
onResume()
:- Активность становится доступной для взаимодействия с пользователем, и приложение выходит на передний план. Это состояние считается "активным".
- Этот метод вызывается после
onStart()
или послеonPause()
, если активность возвращается на передний план.
-
onPause()
:- Активность переходит в приостановленное состояние. Это означает, что приложение все еще видно пользователю, но в фоновом режиме (например, поверх приложения может быть всплывающее окно или другая активность).
- В этом методе обычно сохраняется минимальное состояние, так как активность может быть вскоре уничтожена. Время, затраченное на выполнение этого метода, должно быть минимальным.
-
onStop()
:- Активность больше не видна пользователю. Это может произойти, если приложение уходит в фоновый режим или запускается другая активность.
- Здесь можно освобождать ресурсы, которые не нужны, пока активность не видна.
-
onRestart()
:- Вызывается, если активность была остановлена (
onStop()
), а затем вновь становится видимой для пользователя. - Это промежуточный метод, который запускается перед
onStart()
.
- Вызывается, если активность была остановлена (
-
onDestroy()
:- Вызывается перед уничтожением активности. Это может произойти как при завершении работы приложения, так и при изменении конфигурации устройства (например, поворот экрана).
- Здесь нужно освобождать оставшиеся ресурсы и выполнять финальные операции.
Пример жизненного цикла:
- При запуске активности:
onCreate()
→onStart()
→onResume()
. - При переходе активности на паузу (например, при запуске другой активности):
onPause()
→onStop()
. - При возврате к активности:
onRestart()
→onStart()
→onResume()
. - При закрытии активности:
onPause()
→onStop()
→onDestroy()
.
Жизненный цикл при повороте экрана:
При изменении конфигурации, например при повороте экрана, активность может быть уничтожена и создана заново. Последовательность методов будет такая:
- Поворот:
onPause()
→onStop()
→onDestroy()
→onCreate()
→onStart()
→onResume()
.