Activity的四种启动模式——standard、singleTop 、singleTask 、singleInstance

Android Activity共有四种启动方式,分别·有standard、singleTop 、singleTask 、singleInstance 。每种启动方式都有自己的特点接下来为大家分别介绍四种启动方式,在介绍之前首先要会配置Activity的四种启动模式——standard、singleTop 、singleTask 、singleInstance_第1张图片

只要设置AndroidManifest.xml中的activity标签的launch Mode属性。

1、standard

此模式是系统默认的,也就是在不设置launchMode时,系统会自动设置。在这个模式下每次跳转都会生成一个新的实例,放到同一个任务栈里面,无论跳转的是不是同一个Activity.如果点返回他会逐个返回,跳转了几次就会返回几次;

2、singleTop 

如名字一般(Top),此模式每次跳转也放到同一个任务栈里,但跳转的案例在栈顶时不会创建新的实例,而会跳转到已存在的那个。singleTop模式,可用来解决栈顶多个重复相同的Activity的问题。举个例子:

如果我有A、B两个Activity,第一次A跳到B,会在栈顶创建一个B的实例;

第二次B再跳到B,就不会新建实例了;第三次如果B再跳A就又会新建一个实例;

这次点返回只需要两次就会到桌面。

3、singleTask 

此模式每次跳转也放到同一个任务栈里,但相同实例不会创建两次,如果跳转的那个Activity在栈顶和singleTop 一样,如果不在栈顶,就会把被跳转的那个实例上面的所有的案例销毁掉;

A->B;B->C;C->D; 如果这是D->A的话;A上面的B、C、D都会销毁掉。只返回一次就会到桌面。

4、singleInstance 

此模式跳转时如果存在直接跳转,如果没有将会新建一个实例放到新的栈

A->B,这时B会放到新的栈里面,B->A,就会返回到原先的栈里面。


以上就是四种启动模式的简述。

你可能感兴趣的:(Activity的四种启动模式——standard、singleTop 、singleTask 、singleInstance)