Activity生命周期

Activity的生存期的七个回调方法:

  • onCreat ()
    在Activity第一次被创建时调用
  • onStart ()
    Activity在有不可见变为可见时调用
  • onResume()
    在Activity准备好与用户进行交互时调用
  • onPause()
    在系统准备启动或者恢复另一个Activity时现Activity调用
  • onStop()
    在Activity变为不可见时调用
  • onDestroy()
    在Activity销毁之前调用
  • onRestart()
    在Activity()由停止状态(不可见)重新变为运行状态(可见)之前调用

从第一个方法到最后一个方法称为完整生存期
从第二个方法到第五个方法之间称为可见生存期
从第三个方法到第四个方法称为前台生存期

为了更好的理解我们举一个例子:
三个Activity A ,B, C
设置可以从A打开B,C (B完全将A挡住 C没有完全挡住A)
那么首先进入A时
A将分别执行 onCreat() ,onStart() ,onResume() 方法。
请添加图片描述

再从A打开B
A将先执行onPause() 方法,
B执行onCreat() ,onStart() ,onResume()
然后A在执行onStop() 方法
请添加图片描述

现在退出B返回到A
B先执行 onPause() 方法
A执行 onRestart(),onStart(),onResume()
B再执行onStop() ,onDestroy()
请添加图片描述

然后由A打开C
A执行onPause()
C执行onCreat() ,onStart() ,onResume()
请添加图片描述

再退出C返回A
C先执行 onPause()
A执行onResume()
C执行 onStop() ,onDestroy()
请添加图片描述

退出A
A执行onPause(),onStop() ,onDestroy()

请添加图片描述
事实证明只有你去打印了才能真正了解。

2022/5/1 更新:
当我们打开一个处于栈顶的Activity时生命周期的调用是怎样的呢?
首先我们会发送NEW_INTENT消息给主线程。
然后我们会同样会进入到onPaush ->onNewIntent -> onRestart -> onStart -> onResume

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值