В чем разница между onStart и onResume

«В чем разница между onStart и onResume» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

onStart() вызывается, когда активность становится видимой пользователю, но ещё не взаимодействует с ним (например, при открытии новой активности поверх текущей). onResume() вызывается, когда активность переходит в интерактивное состояние (пользователь может с ней взаимодействовать).

Пример:

override fun onStart() {
    super.onStart()
    // Инициализация ресурсов, которые нужны для отображения
}

override fun onResume() {
    super.onResume()
    // Возобновление анимаций, обновление данных и т.д.
}

Важно: onResume() всегда вызывается после onStart(), но не наоборот.