Мне сложно понять точные обстоятельства, при которых каждый из различных режимов запуска будет использоваться в Android. Может ли кто-нибудь предоставить мне несколько примеров, чтобы понять, когда подходят различные режимы?
Примеры для режимов запуска Android
Ответ 1
Между Browser и Alarm Clock, вы охватываете все четыре режима запуска:
-
BrowserActivity использует singleTask. За один раз действует только одна активность браузера, и она не становится частью задач, которые отправляют ее для открытия веб-страниц. Хотя он может вернуться к тому, что было недавно запущено, когда вы ударяете назад, оно фактически фиксируется в нижней части собственного стека активности задачи. Он поделится своей задачей с действиями, которые он запускает, как закладки.
-
BrowserBookmarksPage использует singleTop. Хотя может быть несколько экземпляров этого действия, если он уже находится в верхней части стека активности задачи, он будет повторно использован и
onNewIntent()
будет вызываться. Таким образом, вам нужно только один раз нажать, чтобы вернуться в браузер, если активность закладок запущена несколько раз. -
AlarmClock использует стандарт. Пользователь может запускать несколько экземпляров этой операции, и эти экземпляры могут быть частью любой задачи и в любом месте стека действий. Как довольно простое приложение, он не требует жесткого контроля над своей деятельностью.
-
AlarmAlert использует singleInstance. Только одно действие оповещения одновременно, и это всегда своя задача. Все, что он запускает (если угодно), становится частью своей новой задачи.
Ответ 2
Официальная документация немного запутанна, поэтому здесь приведена таблица.
http://androidisland.blogspot.com/2010/12/activity-launch-modes-simple.html