Почему в Android-приложении несколько экземпляров Stack

«Почему в Android-приложении несколько экземпляров Stack» — вопрос из категории Архитектура, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android может быть несколько Activity в стеке, так как система использует back stack для навигации. Когда пользователь переходит на новую Activity, предыдущая помещается в стек. При нажатии кнопки "Назад" система извлекает верхнюю Activity из стека и восстанавливает предыдущую.

Пример:

// ActivityA запускает ActivityB
startActivity(Intent(this, ActivityB::class.java))  
// Теперь стек: [A, B]  
// Нажатие "Назад" вернёт пользователя в ActivityA  

Можно управлять стеком через флаги интента (FLAG_ACTIVITY_CLEAR_TOP, FLAG_ACTIVITY_NEW_TASK) или манифеста (launchMode).