Activity的启动模式

本文详细介绍了Android中四种启动模式:standard、singleTop、singleTask和singleInstance,包括它们的工作原理和应用场景。特别讨论了singleInstance模式下的活动栈管理,以及不同情况下的出栈顺序,帮助开发者更好地理解和掌握Android应用的启动行为。

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

1. 启动模式总结

第四个是额外的活动栈,下图截漏了
在这里插入图片描述

2. 启动模式的位置

在这里插入图片描述

3. 四种启动模式

(1) standard(标准)模式

standard是默认的启动模式

standard模式下,每次跳转都会启动一个新的实例
在这里插入图片描述
当Activity全部退出时,系统会自动回收这个空栈

(2) singleTop(栈顶复用)模式

如果栈顶的活动是要跳转的活动,则不会新创建

注意判断的是栈顶的活动的启动模式

1跳转1

这时不会创建新的1,因为1是栈顶活动

在这里插入图片描述

(3) singleTask(栈内复用)模式

栈内复用,是指同一个栈内才可以复用,不同栈的话则不能

而且如果存在该活动,该活动上面的活动都会被移出栈

同一个栈的情况
在这里插入图片描述

不同栈
在这里插入图片描述

(4) singleInstance模式

singleInstance模式也是复用模式,不过这里的是将不同栈的取出来

且存储时会存储到不同的任务栈中

1跳2 ,2为singleInstance
在这里插入图片描述
2跳3,3跳2
在这里插入图片描述

singleInstance模式下的出栈顺序

① 当界面顶层是2时

先将2的移除,再正常出栈

例子1
在这里插入图片描述
例子2 (存在多个singleInstance活动)

singleInstance提供的栈中的活动总会最后移出

(singleInstance栈的移除顺序看活动启动的先后次序,后进先出)
在这里插入图片描述

② 当界面顶层不是2时

singleInstance提供的栈中的活动总会最后移出
在这里插入图片描述
(day02)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值