4.3 Activity的生命周期


当Activity处于Android应用中运行时,它的活动状态由Android以Activity栈的形式管理,当前活动的Activity位于栈顶。

Activity的生命周期

Activity的生命周期

  • onCreate(Bundle savedStatus):创建Activity时被回调。该方法只会被调用一次。
  • onStart():启动Activity时被回调。
  • onRestart():重新启动Activity时被回调。
  • onResume():恢复Activity时被调用。在onStart()方法后一定会回调onResume()方法。此时该Activity位于前台,用户可见,可以获得焦点。
  • onPause():暂停Activity时被回调。此时其他Activity位于前台,该Activity依然可见,只是不能获得焦点。
  • onStop():停止Activity时被回调。此时该Activity不可见,失去焦点。
  • onDestroy():销毁Activity时被回调。该方法只会被调用一次。此时该Activity结束,或Activity所在的进程被终止。

详细说明

  • 从旧活动启动一个普通的新活动时:旧活动变得不可见且失去焦点,因此会调用旧活动的onPause()、onStop()方法;而新活动会被创建,可见且可以获得焦点,所以会依次调用onCreate()、onStart()和onResume()方法。
  • 从新活动返回旧活动时:新活动会被销毁,因此会调用旧活动的onPause()、onStop()和onDestroy()方法;而旧活动因为已经存在,所以会依次调用onRestart()、onStart()和onResume()方法。
  • 从旧活动启动一个对话框风格的新活动时:旧活动仍然部分可见,但失去焦点,因此会调用onPause()方法;而新活动会被创建,可见且可以获得焦点,所以会依次调用onCreate()、onStart()和onResume()方法。
  • 从一个对话框风格的新活动返回旧活动时:对话框风格的新活动会被销毁,因此会调用旧活动的onPause()、onStop()和onDestroy()方法;而旧活动一直可见,现在只是恢复成可以获得焦点的状态,所以只会调用onResume()方法。

常见应用场景

  1. 当用户正在使用某应用观看视频,此时有电话进来,那么我们需要将视频暂停并保存当前播放状态,这就可以通过重写onPause()方法来实现。当再次切换回视频应用时,onResume()方法会被回调,因此可以通过重写onResume()方法来恢复视频播放状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值