安卓Android activity的启动模式

Activity的启动模式一共有四种,分别是:standard、singleTop、singleTask、singleInstance。

1、standard模式

standard模式是Activity的默认启动模式,每次启动都会创建新的实例。在不指定的情况下,Activity的启动模式默认为standard模式。如图1.1

图1.1(图片来源于《第一行代码》) 

2、singleTop模式

singleTop模式为栈顶复用模式,相较于standard模式,singleTop模式不会每次都创建新的实例,而是会判断该activity是否处于栈顶,若处于栈顶,则不创建新的实例。如图1.2

图1.2(图片来源于《第一行代码》) 

3、singleTask 模式

singleTask 模式为栈内复用模式,相较于singleTop模式,singleTask 模式不是判断activity是否处于栈顶,而是判断栈内是否有该activity,如果有,则将该实例上面的所有activity出栈,使得需要的activity实例位于栈顶;如果没有,则创建实例。如图1.3

图1.3(图片来源于网络) 

4、singleInstance 模式

singleInstance 模式又称单实例模式 ,独立的任务栈中只有一个实例,不与其他activity共享。如图1.4,有三个activity,其中SecondActivity的启动模式为singleInstance,另外两个activity的启动模式为standard模式。

图1.4(图片来源于《第一行代码》) 

修改activity启动模式的方法:

在AndroidMainfest.xml文件中指定android:launchMode属性

<activity
            android:launchMode="singleTop"
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值