Android--activity的启动模式

在Android Studio 中 activity的四中启动模式:

提示:根据需求为每个Activity指定恰当的启动方式,从而避免一些问题

  1. standard
  2. singleTop
  3. singleTask
  4. singleInstance

设置activity的启动模式:

提示:只需要在AndroidManifest.xml里对应的标签设置Android:launchMode属性

例如:


Android--activity的启动模式_第1张图片


四种启动模式区别:

1、standard

标准启动模式,也是默认启动模式,不设置android:launchMode属性的话默认为standard启动模式。即,每次跳转启动Activity,均会创建新的实例。下面是standard模式下的示意图:

Android--activity的启动模式_第2张图片

2、singleTop

顶部单例模式,可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例。下面是singleTop模式下的示意图:

Android--activity的启动模式_第3张图片

3、singleTask

当Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中两个相同Activity之前的其它Activity销毁。下面是singleTask模式下的示意图:

Android--activity的启动模式_第4张图片

4、singleInstance

只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。这是一个极端的模式。

singleInstance一般适用于需要在系统中只存在一个实例的场景,比如Android系统的来电页面,多次来电均使用的是一个Activity。

下面是singleInstance模式下的示意图:

Android--activity的启动模式_第5张图片

你可能感兴趣的:(android,android,studio)