用于恢复一堆活动的顺序是什么?

时间:2012-12-21 12:59:26

标签: android back-stack

Android文档提供了对Tasks and Back Stack的看似彻底的描述,但我无法找到以下问题的答案:当他们的任务(之前被他们杀死)时,活动会以何种顺序恢复(重新创建)系统)即将再次成为前景。

例如,如果任务有活动A - > B - > C并在后台被杀,然后当用户切换回它时,连续所有活动中onCreateonRestoreInstanceState事件调用的顺序是什么?我们可以理所当然地认为A总是在B之前完全恢复,而B - 在C之前完全恢复吗?

问题来自Google Play的错误日志,这让我怀疑在调用儿童活动期间主要活动尚未恢复。

1 个答案:

答案 0 :(得分:0)

作为基于某些测试的简短(自我)答案,我报告活动恢复的顺序是从堆栈的顶部到底部,这与活动的初始顺序相反。已创建。在问题的例子的延续中,它将是C - > B - >甲

最重要的是,只有顶级活动会立即恢复,而不是整个堆栈(这将更加直观和一致,imho)。只有在用户关闭顶级活动并且下一个活动即将成为新的顶级活动之后,才会恢复该单个活动,依此类推。

对于每项活动,都会按照文档执行onCreateonStartonRestoreInstanceState的序列。