Activity加载模式(Launch mode)

Activity有四种加载模式:

1 standard

2 singleTop

3 singleTask

4 singleInstance

 

1 standard 模式

1 ) 默认模式,不需要配置 launchMode

2 intent 跳转时将发送给新的实例。

 

2 singleTop 模式

1 intent 跳转时将发送给新的实例。

2 ) 如果创建 intent 的时候栈顶已经有要创建的 Activity 的实例,则将 intent 发送给该实例,而不发送给新的实例。

3) 可用来解决栈顶多个重复相同的 Activity 的问题。

 

3 singleTask 模式

1 )只创建一个实例。

2 )当 intent 到来,创建 Activity 的时候,系统会检查栈里面是否已经有该 Activity 的实例。如果有直接将 intent 发送给它。


4 singleInstance 模式

1 )只创建一个实例。


总结

1 、判断 Activity Task 栈中是否存在是在创建 intent 的时候,而不是在 finish 之后。

2 standard 模式和 singleTop 模式 intent 跳转时将发送给新的实例,而 singleTask singleInstance 模式只创建一个实例。

3 、除 singleInstance 模式外,其他三种模式都是在同一个 task 栈中。

4 singleInstance 模式跳转时会把设置了 singleInstance 模式的 Activity 单独放在一个 task 栈中。实现让别人的程序直接复用你的 Activity

5 singleInstance 模式的 activity 永远保持在堆栈的顶部(因为它是那个堆栈中唯一的一个 activity )。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值