Sobes.tech
Back to questions
Junior — Middle
65

Можете объяснить принцип работы launchMode в Android и его основные варианты?

Companies where asked
Dogma
Ubic
Инити

Answer from AI

sobes.tech AI

В Android launchMode определяет, как система управляет экземплярами Activity в стеке задач при запуске.

Основные варианты:

  • standard (по умолчанию): каждый запуск создает новый экземпляр Activity, даже если такой уже есть в стеке.
  • singleTop: если верхний элемент стека — это уже запущенная Activity такого же класса, новый экземпляр не создается, вызывается onNewIntent().
  • singleTask: создается только один экземпляр Activity в стеке; если Activity уже есть, система поднимает её на верх и вызывает onNewIntent().
  • singleInstance: похож на singleTask, но Activity запускается в отдельной задаче (task), изолированной от других.

Пример использования в манифесте:

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

Это помогает контролировать поведение навигации и предотвращать дублирование экранов.