android 活动的启动模式

2025-01-23 12:26:32

活动是有启动模式的,启动模式一共有四种,分别是standard、singleTop、singleTask和singleInstance

工具/原料

android环境搭建

一.standard

1、可以发现,我们新建一个android程序的时候,并没有指明活动的启动模式,但是仍然可以正常使用。是因为活动的默认启动模式就是standard,也就是说如果我们不指定活动的启动模式,那么活动就会以standard的模式进行启动。

2、如下图所示,当前我们有一个活动为A,那么在A活动上又启动活动A,那么返回栈中会有2个活动A。所以,standard模式,就是每次启动一个活动的时候,该活动就位于栈顶,而不会管当前的栈中是否已经存在了该活动了。

android 活动的启动模式

4、可以看到,每次点击按钮,onCreate()方法都被调用一次。onCreate()方法都知道,是在活动第一次被创建的时候调用的,可以看到,多次点击按钮,活动多次被创建

android 活动的启动模式

2、代码如下,修改清单文件,增加如下代码:android:launchMode="singleTop"

android 活动的启动模式

4、现在,我们增加一个活动B,再主活动中点击按钮,用于启动这个活动B,然后在活动B中增加一个按钮,启动主活动

android 活动的启动模式

三.singleTask

1、看名字就知道了,singleTop是“唯一的顶”,是判断当前activity是否位于栈顶的;而singleTask是“唯一的栈”,是判断当前activity是否位于栈的。所以,这种模式就是,一个栈中只有一个activity.

android 活动的启动模式

3、可以看到,无论我如何点击按钮启动主activity,主activity只在第一次启动的时候创建了一次

android 活动的启动模式
猜你喜欢