Работал ли с Activity launch mode

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

Ответ

Да, работал. Launch mode определяет, как Activity будет запущено в стеке (back stack). Основные режимы:

  1. standard (по умолчанию) – создает новый экземпляр Activity.
  2. singleTop – если Activity уже на вершине стека, используется существующий экземпляр (onNewIntent()).
  3. singleTask – только один экземпляр в стеке (очищает все Activity сверху).
  4. singleInstance – отдельный стек, только для этой Activity.

Пример в манифесте:

<activity 
    android:name=".MainActivity"
    android:launchMode="singleTop"/>

Важно помнить про taskAffinity и флаги интента (FLAG_ACTIVITY_*), которые могут влиять на поведение.