Android launchMode являются важным инструментом и каждый разработчик должен иметь представление какие бывают типы и для чего они используются. Многие разработчики используют только один – самый распространенный тип singleTask – он исключает дублирование ваших activity (экранов). Однако существуют еще несколько типов, которые могут вам пригодится, например, при обработке deeplinks. Давайте рассмотрим другие типы на примерах. В этой статье довольно подробно описана работа launchMode. В данной статье упор сделан на визуализацию поведения стека activity при выборе того или иного launchMode.
Для объяснения будут использоваться следующие обозначения:
1 — launchMode = “singleTop” in Activity D
2 — launchMode = “singleTask” in Activity C
3 — launchMode = “singleInstance” in Activity E
Activity E создана в новом Task. Что если мы хотим запустить Activity F из Activity D ? Результат такой:
4 — launchMode = “standard” in Activity B
Надеюсь, теперь стало ясно как ведет себя Activity при старте, используя тот или иной тип launchMode.