在查看"任务和后退堆栈"指南的"定义启动模式"部分后,我完全不了解使用"singleTask"声明的活动的行为.
假设我在后台任务的底部(根活动)中存在该活动的实例时启动singleTask-activity(通过startActivity方法),
正如文章所描述的那样,我用来启动singleTask-activity的Intent将被传递给实例,在这种情况下,实例将自己置于其任务的顶层并将其任务转移到前台,或者只是将其任务带到前台而不会带来它本身的任务是什么?
我能说清楚吗?请帮忙!提前致谢
我实际上有同样的问题.在这里阅读计算器答复,并做了一些实验,我相信,当一个singleTask活动启动,而它已经在后台任务,系统会杀死所有其他活动在堆栈的顶部,并恢复singleTask活动.
当然,这不是我从文档中得到的.
这是我的理论:
启动模式:活动A:singleTask,活动B:标准
实验1
实验2
在我的情况下,我不得不使用android:alwaysRetainTaskState="true"虽然这不是理想的,因为我希望在10分钟之后清除堆栈,因为这个建议是有道理的:
如果用户长时间离开任务,系统将清除除根活动之外的所有活动的任务.当用户再次返回任务时,仅恢复根活动.系统以这种方式运行,因为在很长一段时间之后,用户可能已经放弃了之前正在做的事情,并且正在返回任务以开始新事物.
从任务和后退堆栈指南.
我希望这有助于其他人.
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |