Android Activity启动模式

来源:互联网 发布:标准型矩阵是什么 编辑:程序博客网 时间:2024/06/06 01:55

Activity的启动模式

 

一、通过AndroidManifest.xml中 Activity的属性 android:launchMode来控制

       该属性分为四种:standard(默认)singleTopsingleTasksingleInstance

1. standard:当对应的Activity被启动时,直接生成一个新的Activity实例压入Task栈中。

2. singleTop:Task栈的顶部只有唯一的一个相同类型的Activity实例。如:Task栈中的ActivityA、B、C、D(D在最顶端),通过startActivity

    启动D,中依然为 A、B、C、D那么就不会新生成D的实例了。

3. singleTask:在该Task栈中只有唯一的一个Activity实例,且当启动带该Activity的时候,位于它之上的Activity通通出栈。如: A、B、C、D,通过

    startActivity启动B,栈中就为A、B,C和D被挤出Task栈。

4. singleInstance:应用程序中只有唯一的一个Activity实例(用于多Task栈的应用中)。


二、通过Intent的addFlags(FLAG)来控制,FLAG有很多种,以下列举常用的

1. Intent.FLAG_ACTIVITY_SINGLE_TOP:类似于singleTop。

2. FLAG_ACTIVITY_CLEAR_TOP:类似于singleTask。

3. FLAG_ACTIVITY_NO_HISTORY:当Intent中添加这个Flag的时候被启动的Activity不会被真的压入Task栈中,如: A、B、C,通过C启动D,

    D再启动E,则Task栈中就是 A、 B、C、E,E按back就会回到C。


0 0
原创粉丝点击