Какие знаешь методы жизненного цикла Activity, которые не будут вызваны гарантированно

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

Ответ

onRestart() - не вызывается, если активити создается впервые.
onResume() - не вызовется, если активити было уничтожено до onStart().
onPause() - не вызывается, если активити уничтожено системой (например, из-за нехватки памяти).
onStop() - не вызывается, если активити было уничтожено сразу после onPause() (редкий случай).

Пример:

override fun onCreate() {
    // Вызовется гарантированно при создании
}

override fun onDestroy() {
    // Может не вызваться при force-stop приложения
}