Ответ 1
На странице Основы приложений руководства разработчика Android:
По умолчанию все действия в приложения имеют сродство к каждому другое - то есть предпочтение для них все должны принадлежать одному и тому же Задача.
Значения активности "singleInstance" как единственная деятельность в ее задача. Если он начнет другую деятельность, эта деятельность будет запущена в различная задача, независимо от ее режим запуска - как будто FLAG_ACTIVITY_NEW_TASK был в намерение. Во всех других отношениях Режим "singleInstance" идентичен "SingleTask".
Как отмечалось выше, никогда больше чем один экземпляр "singleTask" или "singleInstance", так что экземпляр, как ожидается, будет обрабатывать все новые намерения. Активность "singleInstance" всегда находится в верхней части стека (поскольку это единственная деятельность в задача), поэтому он всегда в состоянии обрабатывать намерение. Однако Активность "singleTask" может или не может имеют другие виды деятельности над ним в стек. Если да, то это не позиции, чтобы справиться с намерением, и намерение отбрасывается. (Хотя намерение прекращается, его прибытие привели к тому, что задача на переднем плане, где он останется.)
Поскольку в действии с одним из режимов запуска не более одного экземпляра, кнопка "Назад" всегда приведет вас к существующему экземпляру Activity в вашем случае.
Важным отличием является то, что "singleTask" не требует создания новой задачи для новых действий, которые запускаются, когда что-то выбрано. Также он не должен каждый раз удалять эту новую задачу на обратной кнопке.
Поскольку ваш стек Activity все относится к одной задаче пользователя, и это не похоже на то, что у вас есть сложная структура Intent, где singleInstance может быть полезной для их обработки, я бы предложил использовать режим запуска singleTask.
Вот хорошее сообщение в блоге для получения дополнительной информации, а также зачисление на изображение: Серия действий и задач Android - Введение в компонентную модель андроидов UI