【磨叽教程】Android进阶之玩转任务栈——启动方式详解

本文深入探讨如何在Android中控制Activity与任务栈的关系。通过设置清单文件的launchMode属性和Intent标记,可以实现Activity的启动模式,如"standard"、"singleTop"、"singleTask"和"singleInstance",以及利用FLAG_ACTIVITY_NEW_TASK和FLAG_ACTIVITY_CLEAR_TOP等标记来定制启动行为。
摘要由CSDN通过智能技术生成

在上文中我们介绍了任务栈,这节讨论一下怎么使用并掌握它。

回顾上节:Android 管理任务和返回堆栈的方式是将所有接连启动的 Activity 放到同一任务和一个“后进先出”堆栈中。
我们不需要关注任务栈和Activity是怎么关联的,但是如果我们要想突破这种约定成俗的套路就需要了解本节课的主要内容了。
比如说:你希望应用中的某个 Activity 在启动时开启一个新的任务(而不是被放入当前的任务中),或者当你启动某个 Activity 时,希望调用它的一个现有实例(而不是在返回堆栈顶部创建一个新实例),或者希望在用户离开任务时清除返回堆栈中除根 Activity 以外的所有 Activity。

如果想实现上述目的,我们可以先讨论以下两个方法:

1、使用清单文件中的属性定义
2、在启动的时候给Intent做标记

使用清单文件

在清单文件中声明 Activity 时,可以使用 元素的 launchMode 属性指定 Activity 应该如何与任务关联。

launchMode 属性说明了 Activity 应如何启动到任务中。

launchMode 属性指定 4 种不同的启动模式:

"standard"(默认模式)
系统在启动该 Activity 的任务中创建 Activity 的新实例,并将 intent 传送给该实例。Activity 可以多次实例化,每个实例可以属于不同的任务,一个任务可以拥有多个实例。

"singleTop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值