美文网首页
Activity - 管理任务(6) 清除返回堆栈

Activity - 管理任务(6) 清除返回堆栈

作者: 行走中的3卡 | 来源:发表于2022-12-23 19:27 被阅读0次

Activity - 管理任务(6) 清除返回堆栈
如果用户离开任务较长时间,系统会清除任务中除根 Activity 以外的所有 Activity。
当用户再次返回到该任务时,只有根 Activity 会恢复。
系统之所以采取这种行为方式是因为,经过一段时间后,
用户可能已经放弃了之前执行的操作,现在返回任务是为了开始某项 新的操作

可以使用一些 Activity 属性来修改此行为:

(1)alwaysRetainTaskState
如果在任务的根 Activity 中将该属性设为 "true",则不会发生上述默认行为。
即使经过很长一段时间后,任务仍会在其堆栈中保留所有 Activity。

(2)clearTaskOnLaunch
如果在任务的根 Activity 中将该属性设为 "true",那么只要用户离开任务再返回,
堆栈就会被清除到只剩根 Activity。
也就是说,它与 alwaysRetainTaskState 正好相反。
用户始终会返回到任务的初始状态,即便只是短暂离开任务也是如此。

(3)finishOnTaskLaunch
该属性与 clearTaskOnLaunch 类似,但它只会作用于单个 Activity 而非整个任务。
它还可导致任何 Activity 消失,包括根 Activity。如果将该属性设为 "true",则 Activity 仅在当前会话中归属于任务。
如果用户离开任务再返回,则该任务将不再存在。

参考文献:
https://developer.android.com/guide/components/activities/tasks-and-back-stack#Clearing

相关文章

  • Activity - 管理任务(6) 清除返回堆栈

    Activity - 管理任务(6) 清除返回堆栈如果用户离开任务较长时间,系统会清除任务中除根 Activity...

  • Activity - 管理任务(2)

    1. 管理任务和返回堆栈的方式(Activity和任务的默认行为) Android 管理任务和返回堆栈的方式是将所...

  • android 退出登录

    1 清除缓存 2 清除当前activity任务栈,然后新起一个任务栈。 然后activity栈管理的话,用来做退出...

  • 后台任务task管理

    如果用户长时间离开任务,则系统会清除所有 Activity 的任务,根 Activity 除外。 当用户再次返回到...

  • activity堆栈式管理

    activity堆栈式管理 代码示例:

  • Activity - 任务(Task)和返回堆栈(back st

    1. 基本概念 1.1 任务 与 返回堆栈 任务是用户在执行某项工作时与之互动的一系列 Activity 的集合。...

  • 关于Android

    前言(基础篇) 关于Activity Activity堆栈管理 关于Fragment 关于Service ...

  • Activity堆栈管理

    前言 AMS AMS(Activity Manager Service)是系统进程的一部分,是 Binder Se...

  • 2018-04-11

    Android之Activity系列总结(二)--任务和返回栈 任务和返回栈 应用通常包含多个Activity。每...

  • ams,wms相关的知识

    ams 1.activitystack 堆栈管理,多窗口时的activity管理 2.taskrecorder a...

网友评论

      本文标题:Activity - 管理任务(6) 清除返回堆栈

      本文链接:https://www.haomeiwen.com/subject/ztwyqdtx.html