Android 任务和回退堆栈---管理任务

Android通过把所有的已启动的Activity依次放到同一个后进先出的堆栈里来进行管理,对于大多数应用程序来说这种方法能够很好的工作,并且你不必担心Activity是如何跟任务关联的或者他们是如何存在回退堆栈中的。但是,你可能决定要打破这种通常的行为。或许你想要应用程序中的一个Activity在启动的时候开启一个新的任务(而不是放在当前的任务中);或者当你启动一个Activity时,你想使用之前既存的实例(而不是在回退堆栈的顶部创建一个新的实例);或者你想在用户离开这个任务时清除回退堆栈中根Activity以外的所有Activity。

你能够使用<activity>清单元素中的属性和传递给startActivity()方法的Intent中的标识来做这些事情,甚至更多。

<activity>的主要属性包括:

taskAffinity

launchMode

allowTaskReparenting

clearTaskOnLaunch

alwaysRetainTaskState

finishOnTaskLaunch

Intent的主要标识包括:

FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_CLEAR_TOP

FLAG_ACTIVITY_SINGLE_TOP

在以后的章节中,你会看到怎样使用这些清单属性和Intent标识来定义Activity是如何跟任务关联的以及在回退堆栈中的行为。

警告:大多数应用程序都不应该终端Activity和task的默认行为。如果你决定必须编辑Activity的默认行为,就要谨慎使用,并且确保启动期间和使用回退按钮从其他的Activity和任务中返回时这个Activity的可用性。同时确保导航的结果与用户的预期行为一致。

注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。

如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值