Какие этапы жизненного цикла пройдет приложение, если оно находится в foreground, затем переходит в background при нажатии кнопки домой, а после возвращается

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

Ответ

  1. onCreate() - инициализация приложения
  2. onStart() - приложение становится видимым
  3. onResume() - приложение в foreground

При нажатии Home:
4. onPause() - активность теряет фокус
5. onStop() - активность больше не видна

При возврате:
6. onRestart() - активность снова будет видна
7. onStart()
8. onResume() - приложение снова в foreground

Пример Activity:

override fun onPause() {
    super.onPause()
    // Сохранить временные данные
}

override fun onStop() {
    super.onStop()
    // Освободить ресурсы
}