Activity的4种launchMode

也许是我的英文理解能力问题,Google关于launchMode的描述总是让我困惑,所以我就分别测试了这几种模式,按照我的理解重新整理一下文字


A - standard:默认模式,总是创建新的A实例,同一个任务可以有多个A的实例

Task堆栈:A1->A2->A3->A4


B - singleTop:类似于standard,不过,当堆栈顶部是B的实例时,不会创建新的B实例(A1创建B1, 这时B1可以创建A2,但不能创建B的新实例,A2可以创建新的B实例)
Task堆栈:A1->B1->A2->B2


C - singleTask:B1在新的task创建C的实例,C可以在自己的task中创建B2和A2,A2启动C时,不会创建新的C实例,而是直接转到C的当前实例,并且,C返回时,直接返回启动C的B1,而不是转入C之前的A2
Task堆栈:A1->B1
               \
                C->B2->A2


D - singleInstance:类似于singleTask,但新的task只能有D一个实例,D启动的B2会在原来的task创建。B2无法返回D,而是返回到B1,A1退出后,可以看到D还在。
Task堆栈:A1-B1  B2->A2
              \ /
               D
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值