Android下Activity的生命周期

这边博客简单介绍一下Android下Activity的生命周期,主要介绍在整个Activity中各个回调方法调用的时机。

  1. onCreate():Activity被创建时调用;
  2. onStart():当Activity变得可见时调用此方法;
  3. onResume():Activity正在与用户进行交互时或者说界面获取焦点时调用;
  4. onPause():Activity不能与用户进行交互或者说界面失去焦点是调用;
  5. onStop():当Activity对应页面变得不可见时调用;
  6. onDestory():Activity销毁时调用;
  7. onRestart():当Activity由不可见变得可见时(换言之,由后台转前台或者说由非栈顶转到栈顶),调用此方法,紧接着调用onStart()和onResume()方法;
  8. onSaveInstanceState():只有在activity可能被系统回收时才会被调用,只要是为了避免数据丢失,用于保存和恢复数据,注意是可能,当activity确定要被销毁时,如用户按下返回键,或者在activity内调用finish()方法时,不会调用此方法。且此方法调用顺序是在onPause()后,onStop()前。
    一般以下四种情况将会调用此方法:
    1、当用户按下HOME键时。
    2、从最近应用中选择运行其他的程序时。
    3、按下电源按键(关闭屏幕显示)时。
    4、从当前activity启动一个新的activity时。
    注意:
    1. 下面一句是Android官方文档中的原话,感觉描述的很好:If it is a new instance of the covered activity that comes to the background, the system does not call onRestart(), only calling onStart() and onResume(). 举例来说,假设原本activity A处于前台并与用户进行交互,现在用户启动了activity B,那么A将转入后台并执行onPause()和onStop()方法,此时,如果在B中开启一个A的新实例,那么此时对于这个新实例来说,其只会执行onStart()和onResume方法。
    2. 当APP进行横竖屏切换时,旧的activity执行onPause()—onStop()----onDestory()-----onCreate(),接着新的activity执行onStart()-----onResume()
      即进行一次横竖屏切换,activity实际进行了一次重启;
    3. 注意onStart()方法和onResume()方法调用时机的区别,即Activity可见和可交互的区别,主要有两种典型情况:一是Activity中当前单弹出一个Dialog;二是Acitivity被一个透明的FrameLayout覆盖;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值