Android之Activity四种启动模式

Activity的四种启动模式分别是:Standard、SingleTask、SingleTop、SingleInstance。

1.Standard模式(标准启动模式)

Activity默认采用这样的启动方式。在这样的启动模式下,每次实例化一个Activity的时候都会在Activity管理栈中新建一个Activity。如下图所示:

Android之Activity四种启动模式

2.SingleTask模式(单任务模式)

该模式下实例化一个Activity的时候,会查看Activity栈中是否已经存在要实例化的Activity,比如现在要打开Activity01,而栈中已经存在Activity01,它的上面有Activity02、Activity03两个Activity,那么会先将Activity01和Activity02从栈中移出,然后将要实例化的Activity01置顶。


3.SingleTop模式

该模式下实例化一个Activity的时候会检查Activity栈管理中顶端的第一个Activity是不是正好就是我们要实例化(打开)的这个Activity,比如我们现在要打开Activity01,而它在栈中的位置如下所示——位与栈底。那么继续打开Activity01后栈中Activity变为图2的样子。但若我们计划实例化(打开)的Activity恰好就是图1中的Activity04,由于它刚好位于栈顶,所以会直接使用它。而不会在Activity管理栈中继续新建Activity04的实例。

Android之Activity四种启动模式   Android之Activity四种启动模式

4.SingleInstance模式

该模式下会新建一个栈去放要打开的Activity实例。

Android之Activity四种启动模式