Примеры для режимов запуска Android - PullRequest
21 голосов
/ 13 апреля 2010

Мне трудно понять точные обстоятельства, при которых каждый из режимов запуска будет использоваться в Android.Может ли кто-нибудь дать мне несколько примеров, которые помогут понять, когда подходят различные режимы?

Ответы [ 2 ]

38 голосов
/ 09 июня 2010

Между Браузером и Будильником приложениями вы можете охватить все четыре режима запуска:

  1. BrowserActivity использует singleTask . За один раз выполняется только одно действие браузера, и оно не становится частью задач, которые отправляют его на открытие веб-страниц. Хотя он может вернуться к тому, что запускал последний раз, когда вы наносите ответный удар, он фактически зафиксирован в нижней части собственного стека активности задач. Он поделится своей задачей с действиями, которые он запускает как закладки.

  2. BrowserBookmarksPage использует singleTop . Несмотря на то, что может быть несколько экземпляров этого действия, если оно уже есть в верхней части стека действий задания, оно будет использовано повторно и будет вызвано onNewIntent(). Таким образом, вам нужно будет всего лишь один раз вернуться к браузеру, если действие по закладкам запускается несколько раз.

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

  4. AlarmAlert использует singleInstance . Только одно действие оповещения за раз, и это всегда его собственная задача. Все, что он запускает (если что-то), становится частью его собственной новой задачи.

9 голосов
/ 27 декабря 2010

Официальная документация немного сбивает с толку, поэтому вот таблица, чтобы помочь.

http://androidisland.blogspot.com/2010/12/activity-launch-modes-simple.html

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