Android 生命周期备忘表-第二部分:多个 Activities

原文链接 The Android Lifecycle cheat sheet — part II: Multiple activities

目录

Back Stack  - 场景1:在 activities 之间导航

Back Stack — 场景 2: 返回栈中 Activities 的配置更改

Back Stack — 场景 3: App 进程被杀死

同时阅读

继续阅读


在本系列文章中:
 * 第一部分: Activities — 单个 activity 的生命
 * 第二部分: 多个 activities — 多个 activities—导航和返回栈 (本文)
 * 第三部分: Fragments — activity 和 fragment 的生命周期
 * 第四部分: ViewModels, Translucent Activities 和 启动模式

这些图表也可作为PDF格式的备忘表提供,以供快速参考。


请注意,在图表中显示多个组件(activities,fragments 等)的生命周期时,并排出现的分组事件并行运行。执行焦点可以随时从一个并行事件组切换到另一个,因此 不保证并行事件组之间的调用顺序。 但是,保证组内的顺序。
以下方案不适用于已定义自定义启动模式或任务关联的 activities 和 tasks 。有关更多信息,请参阅 Android developer 网站上的  Tasks And Back Stack

Back Stack  - 场景1:在 activities 之间导航

 

场景1:在 activities 之间导航

在这种情况下,当一个新 activity 被 started 时,activity 1 被 STOPPED(但不被 destroyed),类似于用户导航离开(就像按下了 “Home” 建一样)。

当按下 Back 按钮时,activity 2 将被 destroyed 和 finished。

管理状态

请注意,调用了 onSaveInstanceState ,但没有调用 onRestoreInstanceState 如果在第二个 activity 处于活动状态时发生配置更改,则只有当第一个 activity 恢复焦点时,才会 destroyed 并重新创建它。这就是为什么保存一个状态的实例很重要。

如果系统杀死 app 进程以节省资源,则这是另一种需要恢复状态的场景。


Back Stack — 场景 2: 返回栈中 Activities 的配置更改

 

场景 2: 返回栈中 Activities 的配置更改

管理状态

保存状态不仅仅对前台 activity 很重要。栈中的所有 activities 都需要在配置更改后恢复状态以重新创建它们的 UI。

此外,系统几乎可以随时终止您的 app 进程,因此您应该准备好在任何情况下恢复状态。


Back Stack — 场景 3: App 的进程被杀死

当 Android 操作系统需要资源时,它会杀死后台的 apps。

 

场景 3: App 的进程被杀死

管理状态

请注意,保存完整返回栈的状态,但为了有效地使用资源,activities 只有在被重新创建时才会被恢复。

同时阅读

继续阅读

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值