【Android-Activity】activity的四种启动模式

本文详细介绍了Android中Activity的四种启动模式:standard(标准模式)、singleTop(栈顶复用模式)、singleTask(栈内复用模式)和singleInstance(全局单例模式)。每种模式都有其特定的行为,如standard模式每次启动都会创建新实例,singleTop模式在栈顶复用,singleTask模式会清除栈上其他activity,而singleInstance模式则拥有独立的任务栈。

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

activity的管理模式: 由任务栈进行管理,每次启动一个activity,就会将其放入栈中,点击返回键则会从栈顶移除一个activity

activity的启动模式: manifest中设置launchMode属性!

  1. standard/标准模式
  2. singleTop/Task栈顶复用模式
  3. singleTask/Task栈内复用模式
  4. singleInstance/全局单例模式

——————————————————————————————————————————————————————————————————

1、standard/标准模式

默认的启动模式,每启动一个activity,就会创建一个新的实例,每个AActivity都是一个独立的“个体”

在这里插入图片描述

2、singleTop/Task栈顶复用模式

当要启动的目标Activity已经位于栈顶的时候,就不会创建新的实例,直接复用栈顶的activity,且会调用onNewIntent()方法;如果目标activity不在栈顶的时候就创建一个新的实例
在这里插入图片描述
在这里插入图片描述

3、singleTask/Task栈内复用模式

如果要启动的目标activity已经在栈中了,就会复用该activity,并调用onNewIntent()方法,并在该activity上的activity会被清除;如果栈中没有该activity,则创建新的实例
在这里插入图片描述

在这里插入图片描述

4、singleInstance/全局单例模式

不管activity是在哪个栈中,只要存在了目标的activity,就可以复用。此时每个activity都会占有一个Task栈
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值