Activity: Жизненный цикл
Жизненный цикл активити состоит из шести основных коллбэков, вызываемых системой. В порядке вызова: onCreate()
, onStart()
, onResume()
, onPause()
, onStop()
, onDestroy()
.
onCreate() вызывается когда активити создается. В onCreate()
вы должны вызвать метод setContentView().
onStart() вызывается когда активити отрисована и видима пользователю.
onResume() вызывается перед тем как активити станет доступна для взаимодействия с пользователем.
onPause() – метод симметричный onResume()
. Пользователь больше не может взаимодействовать с активити, но активити частично видна пользователю. В этом состоянии UI активити может изменяться.
onStop() – метод симметричный onStart()
. Вызывается, когда активити больше не видна пользователю.
onDestroy() – метод симметричный onCreate()
. Вызывается перед тем, как активити будет уничтожена системой.
Несколько примеров:
1. Пользователь жмет Home. В этом случае активити больше не видна, поэтому вызываются onPause()
, onStop()
. Пользователь открывает приложение снова - onStart()
, onResume()
.
2. Пользователь переходит на другую активити внутри приложения (реализуется вызовом startActivity()
) – onPause()
, onStop()
. Пользователь возвращается на предыдущую активити – onStart()
, onResume()
.
3. Вызов finish()
– onPause()
, onStop()
, onDestroy()
. Когда пользователь перейдет на эту активити снова, она будет создана с нуля без сохранения состояния.
4. Пользователь поворачивает телефон и ориентация активити меняется. Активити пересоздается и вызываются коллбеки onPause()
, onStop()
, onDestroy()
, onCreate()
, onStart()
, onResume()
с сохранением состояния.
Это базовые методы активити. Более подробно они описаны в документации.
В полный жизненный цикл также входят onRestart()
, onSaveInstanceState()
, onRestoreInstanceState()
, onNewIntent()
и другие методы, которые разберем в будущем.
#Activity
#Lifecycle
>>Click here to continue<<
