Android启动模式的示例

时间:2010-04-13 00:08:54

标签: android

我发现很难理解在Android中使用各种launch modes的确切情况。任何人都可以提供一些例子来帮助理解各种模式何时合适?

2 个答案:

答案 0 :(得分:38)

BrowserAlarm Clock应用程序之间,您将涵盖所有四种启动模式:

  1. BrowserActivity 使用 singleTask 。一次只有一个浏览器活动,它不会成为将其意图发送到打开网页的部分任务。虽然它可能会返回到最近启动它的任何东西,当你回击时它实际上固定在它自己的任务活动堆栈的底部。它将与其启动的活动(如书签)共享其任务。

  2. BrowserBookmarksPage 使用 singleTop 。虽然此活动可能有多个实例,但如果任务的活动堆栈顶部已有一个实例,则会重复使用该活动并调用onNewIntent()。这样,如果多次启动书签活动,您只需返回一次即可返回浏览器。

  3. AlarmClock 使用标准。用户可以启动此活动的多个实例,这些实例可以是任何任务的一部分,也可以是活动堆栈中的任何位置。作为一个相当简单的应用程序,它并不真正要求严格控制其活动。

  4. AlarmAlert 使用 singleInstance 。一次只有一个警报活动,它始终是自己的任务。它启动的任何东西(如果有的话)都成为它自己新任务的一部分。

答案 1 :(得分:9)

官方文档有点令人困惑,所以这里有一个表格可供帮助。

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