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

Примеры для режимов запуска Android

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

4b9b3361

Ответ 1

Между Browser и Alarm Clock, вы охватываете все четыре режима запуска:

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

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

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

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