按 back 键,按 home 键,Activity 的生命周期是如何变化的

  1. 按 back 键,按 home 键,Activity 的生命周期是如何变化的
  2. 所有 Activity 都销毁了,那么应用进程也销毁了吗?

MainActivity 和 NetworkActivity。点击进入 MainActivity。

MainActivity: onCreate
MainActivity: onStart
MainActivity: onResume

从 MainActivity 点击进入 NetworkActivity。

MainActivity: onPause
NetworkActivity: onCreate
NetworkActivity: onStart
NetworkActivity: onResume
MainActivity: onStop
MainActivity: onSaveInstanceState

在 NetworkActivity 点击 back 键回到 MainActivity。

NetworkActivity: onPause
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume
NetworkActivity: onStop
NetworkActivity: onDestroy

在 MainActivity 点击 back 键回到手机桌面,再点击应用图标进入到 MainActivity

// 点击 back 键
MainActivity: onPause
MainActivity: onStop
MainActivity: onDestroy
// 再次点击应用图标进入 MainActivity
MainActivity: onCreate
MainActivity: onStart
MainActivity: onResume

在 MainActivity 点击 Home 键回到手机桌面,再点击应用图标进入 MainActivity

// 点击 Home 键
MainActivity: onPause
MainActivity: onStop
MainActivity: onSaveInstanceState
// 再次点击应用图标进入 MainActivity
MainActivity: onRestart
MainActivity: onStart
MainActivity: onResume

从上面的实验结果,可以得出以下结论:

  1. 从第一个 Activity 进入到第二个 Activity,第一个 Activity 的 onStop 总是在第二个 Activity 的 onResume 之后执行。所以要避免在第一个 Activity 的 onPause 方法中做耗时的操作。否则会影响第二个 Activity 界面的显示。
  2. 从第二个 Activity 点击 back 键回到第一个 Activity,也会先执行第二个 Activity 的 onPause 方法。所以无论是进入一个 Activity 或退出一个 Activity,都要避免在 onPause 方法中做耗时的操作
  3. 点击 Back 键回到手机界面,当前 Activity 实例会被销毁,即执行 onDestroy 方法。
  4. 点击 Home 键回到手机界面,当前 Activity 执行的生命周期方法与从当前 Activity 进入到新一个 Activity 一样,都是:onPause onStop onSaveInstanceState

以上结论回答了第一个问题。第二个问题我目前还不清楚,还请各路大神不吝赐教!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值