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()
и другие методы, которые разберем в будущем.