安卓笔记Activity的四种启动模式

Activity的四种启动模式

在Manifest里可以调
在这里插入图片描述

standard:标准模式

singleTop:Task栈顶复用模式

singleTask:Task站内复用模式

singleInstance:全局单例模式

standard(多使用)

1.Activity是由任务栈管理的,每启动一个Activity,就会被放入栈中,按返回键,就会从栈顶移除一个Activity

2.sandard是默认的启动模式。每启动一个Activity,都会创建一个新的实例

例如:在默认情况下,从A还是跳转到A,栈名是一样的,但是hashCode不一样,证明是一个Activity创建了两个实例。即每次跳转都创建了一个实例

singleTop(多使用)

当要启动的目标Activity已经位于栈顶时,不会创建新的实例,会复用栈顶的Activity,并且其onnewIntent()方法会被调用;如果目标Activity不在栈顶,则跟standard一样创建新的实例

在栈里但不在栈顶

根部不在栈顶

singleTask(多使用)

可在Manifest里改栈名(自定义)
在这里插入图片描述

在同一个任务栈中,如果要启动的目标Activity已经在栈中,则会复用该Activity,并调用其onnewIntent()方法,并且该Activity上面的Activity会被清楚;如果栈中没有,则创建新的实例

singleInstance(较少)

全局复用,不管哪个Task栈,只要存在目标Activity,就复用。每个Activity占有一个新的Task栈

一个栈里只有一个Activity,只要Activity存在,就复用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值