Activity的四种启动模式

1、standard 标准启动模式

Activity的标准启动模式,也是默认启动模式,这种模式的Activity可以被多次实例化,在同一个任务栈中可以存在多个Activity实例,每个实例都会处理一个Intent对象。如果栈中已经有一个ActivityA被启动,再启动时,会启动一个新的ActivityA实例。
standard标准启动模式

2、singleTop启动模式

当Activity的实例已经存在于任务栈的栈顶,那么再次启动这个activity时,不会创建新的实例,而是重用位于栈顶的那个实例,并且调用onNewIntent()函数将intent对象传递到这个实例中。但如果Activity不在栈顶,也会和standard模式一样,创建一个新的实例。

singleTop启动模式

3、singleTask启动模式

singleTask模式是常用的启动模式,如果一个Activity设置了这个启动模式,那么在一个任务栈中只能有一个该Activity的实例。如果任务栈中还没有该Activity,会创建一个新的实例并放在栈顶。但如果Activity已存在,系统会销毁处在该Activity上的所有Activity,最终让该Activity实例处于栈顶。同时,回调onNewIntent()函数。
在这里插入图片描述

4、singleInstance启动模式

设置了这个模式的Activity会在一个独立的任务中开启,并且这个新的任务中有且只有这一个实例,被该实例启动的其它Avtivity会自动运行在另一个任务中。当再次启动Activity实例时,会重用已经存在的任务和实例,并且调用onNewIntent()。
与singleTask不同的是,同一时刻在系统中只会存在一个这样的Activity实例,不管多少应用要启动该Activity,这个Activity有且只有一个。而singleTask模式的Activity是可以有多个实例的,只要这些Activity不在同一个任务栈就行。
singleInstance启动模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值