Что будет при открытии Activity с флагом singleTop и нажатии кнопки «назад»

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

Ответ

При singleTop новая Activity не создается, если она уже на вершине стека. При нажатии "назад" поведение стандартное - текущая Activity уничтожается, возвращаемся к предыдущей в стеке.

Пример:

val intent = Intent(this, MyActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP
startActivity(intent)

Если MyActivity уже активна, будет вызван onNewIntent() вместо onCreate(). При нажатии назад - просто закроется текущая Activity.

Важно: singleTop не влияет на поведение кнопки "назад", только на создание новых экземпляров Activity.