Android launchMode

本文详细解释了Android中Activity的四种启动模式:“standard”、“singleTop”、“singleTask”及“singleInstance”的工作原理和使用场景。通过示例说明不同模式下Activity的生命周期行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Activity 有四种启动模式:“standard” (默认),“singleTop”,“singleTask”,“singleInstance”.


这四种到底有什么区别呢?

下面假设有两个Activity A & B来描述以下启动模式的区别,程序逻辑就是A可以点击Button跳转到B,B可以点击Button跳转到A.

“standard” (默认):

如果执行以上的操作,栈中就会有无数个A/B,即A->B->A->B->A->B。


“singleTop”:(单栈顶部单例)

如果该Activity在栈顶部,就不会创建新的Activity,如果不在顶部就会,比如还是执行standard的操作,其结果一样为:A->B->A->B->A->B。

但是如果是用A启动B,再启动B,就只是(A->B)而不是默认情况下的(A->B->B)


“singleTask”:(单栈单例)

不管跳转,一个栈中只会有一个实例,以上操作结果为(A->B or B->A)


“singleInstance”(多栈)

当创建这个Activity会单独开启一个栈,比如A为正常模式,B为singleInstance模式,执行A-》B-》A的操作最后栈的结果为(A->A B)

退栈的顺序为(B -> A -> A)







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值