Жизненный цикл активити состоит из шести основных коллбэков, вызываемых системой. В порядке вызова:
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() и другие методы, которые разберем в будущем.