学习笔记(Activity的启动模式)

Activity的启动模式(LaunchMode):

1.standrad模式,标准模式。系统默认的启动模式。直接将Activity加入启动者的任务栈。
2.singleTop模式,栈顶复用模式。如果栈内存在ABCD,再去启动一个D,栈内仍为ABCD。
3.singleTask模式,栈内复用模式,一种单实例模式。当栈内为ADBC时,以此模式启动一个D,此时BC将出栈,栈内为AD。
4.singleInstance模式,单实例模式,加强版的SingleTask。在SingleTask的基础上,一个Activity只能有一个任务栈。

TaskAffinity(任务相关性)标示了一个Activity所需要的任务栈的名字。默认情况下,所有Activity所需的任务栈的名字为应用的包名。

Activity常用的Flags:

FLAG_ACTIVITY_NEW_TASK:为Activity指定“singleTask”启动模式,其效果和在XML中指定相同。
FLAG_ACTIVITY_SINGLE_TOP:为Activity指定“singleTop”启动模式,其效果和在XML中指定相同。
FLAG_ACTIVITY_CLEAR_TOP:具有此标记位的Activity,当它启动时,在同一个任务栈中所有位于它上面的Activity都要出栈。一般和singleTask启动模式一起出现。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:具有这个标记的Activity不会出现在历史Activity的列表中,当某些情况下,我们不希望用户通过历史列表回到我们的Activity的时候这个标记比较有用。它等同于在XML中指定Activity的属性android:excludeFromRecents="true"。

你可能感兴趣的:(学习笔记(Activity的启动模式))