- 原文地址:Medium Android Developers
- 原文作者:Jose Alcérreca
- 译文出自:掘金翻译计划
- 本文永久链接:github.com/xitu/gold-m…
- 译者:Rickon
- 校对者:Endone,Mirosalva
在这个系列中:
- 第一部分:单一 Activities
- 第二部分:多 Activity — 跳转和返回栈(本篇文章)
- 第三部分:Fragments — activity 和 fragment 的生命周期
- 第四部分:ViewModels、半透明 Activity 和启动模式
为了方便查阅,我制作了 PDF 格式备忘录。
请注意,图表中显示多个组件(activities,fragments 等)的生命周期时,并排显示的分组事件是并行的。执行焦点可以随时从一个并行事件组切换到另一个,因此并行事件组之间的调用顺序并不能保证。但是,组内的顺序是有保证的。
以下场景并不适用于有着自定义启动模式或任务关联型的 activities 和任务。想要了解更多,详见 Android 开发者官网:任务和返回栈。
返回栈 — 场景 1:在 Activity 之间跳转
场景 1:在 Activity 之间跳转
在这种场景下,当一个新 activity 启动时,activity 1 被停止(但没有被销毁),类似于用户在进行跳转(就像按下 “Home” 一样)。
当返回按钮被按下,activity 2 被销毁结束运行。
管理状态
请注意,尽管 onSaveInstanceState
被调用,但是 onRestoreInstanceState
不会被调用。如果在第二个 activity 处于活动状态时配置发生改变,则第一个活动将被销毁并仅在其重新获取焦点时重新创建。这就是保存一个状态的实例很重要的原因。
如果系统杀死应用程序进程以节省资源,这是另一种需要恢复状态的场景。
返回栈 — 场景 2:配置发生变化时返回栈中的 Activities
场景 2:配置发生变化时返回栈中的 Activities
管理状态
保存状态不仅对前台的 activity 很重要。配置发生变化后,栈中的所有的 activities 都需要重新恢复状态来重新创建它们的 UI。
此外,系统几乎可以随时终止你的应用程序进程,因此你应该准备好在任何情况下恢复状态。
返回栈 — 场景 3:应用的进程被终止
当 Android 操作系统需要资源时,它会杀死在后台的应用程序。
场景 3:应用的进程被终止
管理状态
请注意,完整返回栈的状态被保存起来,但为了有效地使用资源,只有在重新创建 activity 时才会恢复 activity。
如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文在 GitHub 上的 MarkDown 链接。
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。
今天的文章[译] Android 生命周期备忘录 — 第二部分:多 Activity分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/23598.html