Разница между режимами запуска SingleTask и SingleInstance? - PullRequest
0 голосов
/ 10 октября 2019

Прежде чем понизить голосование и пометить его как дубликат , подумайте о моих страданиях. Я уже читал эту ветку SO Разница между singleTask и singleInstance и думал, что все понял, но потом наткнулся на эту статью среднего уровня , которая добавила новый элемент путаницы. В разделе «Ответы» в потоке SO говорится, что всякий раз, когда запускается новый Activity с «singleTask» в качестве режима запуска, он запускается в новой задаче в качестве корневого действия и далее позволяет другим Activity бытьдобавил в свою новую задачу.

Так, например,

  • Предыдущий стек: ЗАДАЧА 1 -> [A -> B]

    Операция: запуск нового Activity C из B с launchMode = "singleTask"

    Новый стек: TASK 1 -> [A -> B] TASK 2 -> [C]

Но в разделе "singleTask" статьи Medium новый Activity C при запуске добавляется к тому же предыдущемустек,

  • Поэтому вместо ожидаемого ЗАДАЧА 1 -> [A -> B] ЗАДАЧА 2 -> [C]

    только это произошло ЗАДАЧА 1 -> [A -> B -> C]

Что здесь произошло, я упустил какую-то важную концепцию?

Кроме того, я бы попросил о возможном визуальном представлении новой задачи при запуске операции "singleTask" и "singleInstance" используются в следующих сценариях:

  1. Сценарий 1: Предыдущая задача: [A ->B] Новый Activity C запускается с launchMode = "singleTask" из B Новый Activity C запускается с launchMode = "singleInstance" из B Ожидаемое новое задание:?

  2. Сценарий 2: Предыдущее задание: [A -> B -> C] Новое Activity C запускается с launchMode = "singleTask" из C Новый Activity C запускается с launchMode = "singleInstance" из C Ожидаемое новое задание:?

  3. Сценарий 3: Предыдущая задача: [A -> B -> C -> D -> E] Новое Activity C запускается с launchMode = "singleTask" из E Новое Activity C запускается с launchMode = "singleInstance" из E Ожидаемое новое задание:?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...