浅谈Activity的四种启动模式和适用场景

本文详细介绍了Android中Activity的四种启动模式:standard、SingleTop、SingleTask和SingleInstance。standard模式每次启动都会创建新实例;SingleTop在栈顶时复用,调用onNewIntent();SingleTask栈内复用,移除栈上所有Activity并调用onNewIntent();SingleInstance则在单独任务栈中唯一存在,跨应用共享。通过具体示例展示了不同模式下导航和返回的行为特点,帮助开发者理解选择合适启动模式的重要性。
摘要由CSDN通过智能技术生成

相信做Android开发的小伙伴们,对Activity的启动模式都不会太陌生。今天我们就来简单聊聊这四种启动模式以及这四种模式分别适用于那些场景。

standard( 标准模式)

我们创建的Activity都会在AndroidManifest.xm清单文件中添加注册,如果我们不设置LaunchMode这个属性的话,默认这个Activity的启动模式就是standard模式。这种模式下,每次启动Activity都会创建一个新的实例。因此,这种启动模式下会存在大量相同的实例。当然,这种模式下也允许存在相同的实例。

举个栗子:创建一个启动模式为standard的Activity A,点击A跳转到A页面,点击两次 A->A->A,这样栈内就会出现三个相同的A实例,这时候点击返回键的时候你就会发现 ,我们需要点击三次返回键才能退出页面。

 

 SingleTop(栈顶复用模式) 顾名思义,设置Activity的启动模式为SingaleTop时,当这个Activity位于栈顶时,再次启动这个Activty时不会创建一个新的Activty实例,会调用Activty的onNewIntent()方法;当这个Activty不在栈顶时,再启动Activity时,还是会创建一个新的Activity实例。

举个栗子:创建两个Activity A和B,将B的启动模式设置成SingleTop。点击A跳转到B,点击B跳转到B , A->B->B 这时候点击

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值