Какие методы жизненного цикла Activity вы знаете и как они выполняются?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
onCreate(): Вызывается при первом создании Activity. Используется для инициализации UI и данных.onStart(): Activity становится видимой для пользователя.onResume(): Activity становится активной и находится на переднем плане. Пользователь может с ней взаимодействовать.onPause(): Вызывается, когда Activity переходит на задний план или другая Activity частично ее закрывает. Используется для сохранения состояния, которое нужно быстро восстановить.onStop(): Activity больше не видна пользователю. Используется для освобождения неиспользуемых ресурсов.onDestroy(): Вызывается перед тем, как Activity будет уничтожена. Используется для окончательной очистки ресурсов.onRestart(): Вызывается послеonStop(), когда Activity снова становится видимой.
Последовательность выполнения методов при запуске: onCreate() -> onStart() -> onResume().
Последовательность выполнения методов при переходе на задний план (например, при нажатии кнопки Home): onPause() -> onStop().
Последовательность выполнения методов при возвращении из фона: onRestart() -> onStart() -> onResume().
Последовательность выполнения методов при уничтожении Activity: onPause() -> onStop() -> onDestroy().
При повороте экрана Activity уничтожается и создается заново. Последовательность: onPause() -> onStop() -> onDestroy() -> onCreate() -> onStart() -> onResume(). Для сохранения состояния используется onSaveInstanceState() (вызывается до onStop()) и восстановление в onCreate() или onRestoreInstanceState() (вызывается после onStart()).
class MyActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // Инициализация UI
// Восстановление состояния из savedInstanceState
}
override fun onStart() {
super.onStart()
// Activity становится видимой
}
override fun onResume() {
super.onResume()
// Activity на переднем плане, доступна для взаимодействия
}
override fun onPause() {
super.onPause()
// Activity переходит на задний план
// Сохранение быстро восстанавливаемого состояния
}
override fun onStop() {
super.onStop()
// Activity не видна
// Освобождение ресурсов
}
override fun onDestroy() {
super.onDestroy()
// Activity уничтожается
// Окончательная очистка ресурсов
}
override fun onRestart() {
super.onRestart()
// Activity возвращается из фона
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Сохранение состояния перед уничтожением
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
// Восстановление состояния
}
}