启动模式(Launch modes)

<activity>下的launchMode属性可以设置四种启动方式:

standard (默认模式)

singleTop

singleTask

singleInstance

区别:

(1) 响应Intent时Activity将被装入哪个task:

对于standard和singleTop模式,由产生该Intent(调用startActivity())的task持有该Activity——除非Intent对象里含有FLAG_ACTIVITY_NEW_TASK标志,那么就像前面章节讲的那样的寻找一个新的task。

对于singTask和singleInstance模式,总是标志Activity为task的root Activity,开启这样的活动会新建一个task,而不是装入某个正在运行的任务。

(2) 一个Activity是否可以有多个实例:

一个standard或者singleTop属性的Activity可以实例化多次,可以属于多个不同的task,而且一个task也可以含有相同Activity的多个实例。相反的,singleTask或者singleInstance属性的Activity只能有一个实例(单例)。因为这些Activity是位于task的底部。

(3) 实例是否能允许在它的task里有其他的Activity:

一个singleInstance属性的Activity是它所在的task里仅有的一个Activity,如果他启动了另一个Activity,那个Activity会被加载进一个不同的task而无视它的启动模式。一个singleTask属性的Activity总是一个t

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值