Android的launchMode

本文详细介绍了Android中Activity的四种启动模式:standard、singleTop、singleTask和singleInstance,并通过具体示例说明了每种模式的特点及应用场景。

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

Android的activity的launchMode有四种;

1. standard

这样的activity在task中是标准的先进后出;例如task中的情况是:A-->B-->C 用户按了back, task就变成了A-->B

2. singleTop

如何activity在task的顶部,那么不需要重新创建新的activity,直接使用它就可以了;

例如task中的情况是:A-->B-->C,这时系统来了一个Intent,要求启动C(是singleTop), 这时C已经在栈顶了,不需要创建新的C,直接使用就可以了。

但是如果系统需要的是B(是singleTop),这时就要创建新的B,因为B没有在栈顶;

3. singleTask

在一个task中保证某个activity的唯一性;

例如task中的情况是:A-->B-->C 这时系统来了一个Intent,要求启动C(是singleTask), 不需要创建新的C,直接使用就可以了。

再例如task中的情况是:A-->B-->C 这时系统来了一个Intent,要求启动B(是singleTask),系统会将B之上的所以activity出栈,直接使用B,这时栈变成了:A-->B

再例如task1中的情况是:A-->B-->C;task2中的情况是D-->E;这时系统来了一个Intent,要求启动B(是singleTask),系统会将task1的栈和task2合并变成:

D-->E-->A-->B

4. singleInstance

和singleTask一样,只是在包含singleInstance的task中只能由singleInstance的activity;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值