【问题标题】:What is the order used to restore a stack of activities?用于恢复一堆活动的顺序是什么?
【发布时间】:2012-12-23 05:30:12
【问题描述】:

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

例如,如果一个任务有活动 A -> B -> C 并且在后台被杀死,那么当用户切换回它时,onCreateonRestoreInstanceState 事件在所有连续活动?我们是否可以想当然地认为A总是在B之前完全恢复,而B - 在C之前完全恢复?

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

【问题讨论】:

    标签: android back-stack


    【解决方案1】:

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

    最重要的是一次只恢复一个顶部活动,而不是整个堆栈(这会更直观和一致,恕我直言)。只有在用户关闭 top Activity,并且下一个 Activity 即将成为新的 Top Activity 后,该单个 Activity 才会恢复,依此类推。

    对于每个活动,按照文档执行一系列onCreateonStartonRestoreInstanceState

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 2010-10-17
      • 2011-07-22
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多