Однозадачный Android или singleInstance запускает режим? [закрытый]

84
задан Samuel Liew 4 December 2018 в 21:55
поделиться

1 ответ

На странице Основы приложения руководства для разработчиков Android:

По умолчанию все действия в приложение имеет привязку к каждому другое - то есть есть предпочтение чтобы все они принадлежали к одному задача.

Активность "singleInstance" только как единственная деятельность в своем задача. Если он начнет другое действие, эта деятельность будет запущена в разные задачи независимо от их режим запуска - как бы FLAG_ACTIVITY_NEW_TASK был в намерение. Во всем остальном режим "singleInstance" идентичен "singleTask".

Как было сказано выше, больше никогда не бывает чем один экземпляр "singleTask" или "singleInstance", так что ожидается, что экземпляр будет обрабатывать все новые намерения. Действие "singleInstance" всегда наверху стека (поскольку это единственное мероприятие в задача), поэтому он всегда в состоянии справиться с намерением. Однако "singleTask" активность может или не может иметь другие виды деятельности над ним в куча. Если да, то его нет в положение для обработки намерения, а намерение отброшено. (Хотя намерение отброшено, его приход вызвали задачу прийти к на переднем плане, где он останется.)

4 Activities in a Task

Так как никогда не бывает более одного экземпляра Activity с любым режимом запуска, в вашем случае кнопка возврата всегда приведет вас к существующему экземпляру Activity.

Важное отличие состоит в том, что для «singleTask» не требуется создание новой задачи для новых действий, запускаемых при выборе чего-либо. И ему не придется каждый раз удалять эту новую задачу на кнопке «Назад».

Поскольку ваш стек Activity относится к одной пользовательской «задаче», и не похоже, что у вас сложная структура Intent, в которой singleInstance может быть полезен для их постоянной обработки, я бы предложил использовать режим запуска singleTask.

Вот хорошая запись в блоге для получения дополнительной информации, а также ссылка на изображение: Серия «Действия и задачи Android» - Введение в компонентную модель пользовательского интерфейса Android

141
ответ дан 24 November 2019 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: