2、Activity启动方式

Activity一共有以下四种launchMode
  • standard
  • singleTop
  • singleTask
  • singleInstance

1、standard

是默认的启动模式,不用为配置android:launchMode属性即可,当然也可以指定值为standard。
  特点:每次跳转都会在task中生成一个新的Activity实例(不管栈里面原来是否创建过,都会生成新的实例),并且该Acticity实例放于栈结构的顶部。

2、singleTop

需要指定属性android:launchMode="singleTop"。
  特点:跳转时系统会先在栈结构中寻找要跳转的Activit是否位于栈顶,如果是则不再生成新的实例,直接使用。

3、singleTask

需要指定属性android:launchMode="singleTask"。
  特点:跳转过程中系统会检查栈中是否有该Activity实例,如果没有就创建。如果有就不再生成新的实例,并且将该Activity之上的Activity实例统统出栈,将本Activity变为栈顶对象,显示到幕前。

4、singleInstance

需要指定属性android:launchMode="singleInstance"。
  特点:这种启动模式比较特殊,因为它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。

你可能感兴趣的:(2、Activity启动方式)