Activity 启动模式和 taskAffinity 属性

本文主要探讨了Android中Activity的taskAffinity属性和启动模式。taskAffinity决定了Activity所属的任务(Task)。默认情况下,Activity与应用的包名相同。配置不同的taskAffinity会导致Activity在新的任务中启动,影响历史应用列表的显示。对于启动模式,standard和singleTop模式下taskAffinity无效,而singleTask和singleInstance模式会根据taskAffinity决定是否创建新任务。在singleTask模式下,若taskAffinity与现有任务不匹配则新建任务;在singleInstance模式下,不论taskAffinity如何,都会创建新任务。
摘要由CSDN通过智能技术生成

这边文章主要理解 taskAffnity 属性,Activity 启动模式就简单列表说明下。

先了解下 Task , Task 是 Activity 实例存放的地方,称作任务,一般一个应用中启动的 Activity 都存放在同一个 Task 中,除非开发者对 Activity 进行特殊的配置。

LaunchMode 说明 示例(假设 ActivityB 为当前的启动模式)
standard 默认启动 activity 的模式,所有的 activity 都存在一个 task 中 启动:
A -> B ->c
按1次返回键:
A -> B
按2次返回键:
A
singleTop 栈顶复用
如果 activity 的实例已存在于当前任务的顶部,则系统通过调用其 onNewIntent(),否则会创建新实例
启动:
A -> B
在B中再次启动B,仍然只有一个B实例(复用):
A -> B
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值