Activity的七大生命周期

Activity生命周期图


1、当第一次调用一个Activity就会执行onCreate方法

2、当Activity处于可见状态的时候就会调用onStart方法

3、当Activity可以得到用户焦点的时候就会调用onResume方法

4、当Activity被遮挡住的时候就会调用onPause方法

5、当Activity处于不可见状态的时候就会调用onStop方法

6、当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法

7、当Activity被销毁时会调用onDestory方法

实例:

首先新建两个Activity:MainActivity和SecondActivity,
MainActivity里点击按钮可打开SecondActivity,在两个Activity中分别加入七大生命周期的回调函数,
并在函数方法中添加log日志( Log.i("Activity名","方法名") ,例: Log.i(" MainActivity: ","onStart()")

接下来进行调试:
打开第一个MainActivity依次执行onCreate()->onStart()->onResume(),
MainActivity入栈。
 
打开第二个SecondActivity先执行MainActivity的onPause(),
再执行Second的onCreate()->onStart()->onResume(),
Second入栈,
最后执行MainActivity的onStop(),
此时Activity返回栈的栈顶为SecondActivity,
MainActivity被压入栈。
 
按下返回键,先执行SecondActivity的onPause(),
再执行MainActivity的onRestart()->onStart()->onResume(),
此时MainAcitivity回到栈顶,
待MainActivity重新回到栈顶并准备好与用户交互后,
SecondActivity才执行onStop()->onDestroy(),
此时SecondActivity()出栈。
 
在一个Activity交互时按下home键或打开任务面板时,
会执行该Activity的onPause()->onStop(),而不会执行onDestroy(),
当用户再此点开该程序后执行onRestart()->onStart()->onResume()恢复。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值