Подтвердить что ты не робот

Разница между singleTask и singleInstance

Я не нашел нить в StackOverflow, который отвечал на мой вопрос. Я уже видел это однопользовательское синглэнд и синглэкспонирование Android, но этот вопрос связан с его проектным сценарием.

В чем разница между singleTask и singleInstance? Я прочитал документы, но не мог понять.

Я тоже прочитал эту тему Android singleTask или режим запуска singleInstance?, но я не мог понять. К сожалению

4b9b3361

Ответ 1

Что неясно из docs?

Режимы "singleTask" и "singleInstance" также отличаются от каждого другое только в одном отношении: активность "singleTask" позволяет другим деятельность должна быть частью его задачи. Он всегда лежит в основе его но другие действия (обязательно "стандартные" и "singleTop", деятельности) можно запустить в эту задачу. "SingleInstance" с другой стороны, не допускает, чтобы никакая другая деятельность не являлась частью его задача. Это единственное занятие в задаче. Если он запустит другой активности, эта деятельность назначается на другую задачу - как будто FLAG_ACTIVITY_NEW_TASK был в этом намерении.

Ответ 2

singleTask: - Новая задача всегда будет создана, и новый экземпляр будет перенаправлен на задание в качестве корня. Однако, если какой-либо экземпляр активности существует в любых задачах, система направляет намерение этому экземпляру активности через вызов метода onNewIntent(). В этом режиме экземпляры активности могут быть перенесены в одну и ту же задачу. Этот режим полезен для действий, которые действуют как точки входа.

singleInstance: - То же, что и singleTask, за исключением того, что экземпляр no activities не может быть перенесен в одну задачу singleInstances. Соответственно, активность в режиме запуска всегда находится в одной задаче экземпляра действия. Это очень специализированный режим и должен использоваться только в приложениях, которые реализованы полностью как одно действие.

Ответ 3

SingleInstance точно так же, как синглтон, а также его стек как конечный класс не может быть расширен. Он всегда один в своем стеке и всегда там.