Activity生命周期一般解析

一、

onCreate()   ---初始化activity

onStart()      ---注册变量、对一些资源和状态的操作保存,注册广播【一般情况下】

onResume()---调用一些数显UI的数据,每当activity调用到此方法时,刷新一下UI控件的状态,注册广播

onPause()   ---提交没有改变的修改到持久数据

onStop()     ---反注册在onStart()中注册的变量

onDestory()---反注册在onStart()中注册的变量


二、

一、Activity分为七个阶段,分别是:
1、onCreate()
2、onStart()
3、onResume()
4、onPause()
5、onStop()
6、onDestroy()
7、onRestart()


二、流动流程:
1、程序启动到用户点击返回键退出程序:
onCreate()-->onStart()-->onResume()-->Activity is running-->用户点击返回键-->onPause()-->onStop()-->onDestory()


2、解释:
onResume()可以直接跟用户进行交互,因为用户点击返回键了。
onPause()暂停,当前没有获取焦点,当前的activity可以被看见。
当开启一个activity把当前的activity给盖住的时候,会执行onPause()-->onStop()方法。
当activity处于onStop()状态时,这个时候盖住它的activity被关闭,当前的activity就会被显示出来onRestart()-->onStart()-->onResume()。
当前的activity开启一个界面,被开启的界面没有完全的把前面的一个界面覆盖,比方说弹出一个对话框,后面的界面是没有被完全覆盖的,前一个界面的生命周期将是onResume()-->onPause()。


3、总结:
如果当前的activity处于onResume()方法的话,那么当前的界面就可以和用户进行交互。
如果当前的activity处于onPause()方法的话,那么当前的界面就可以被看见,但是不能和用户进行操作。
onCreate()界面刚开始创建时执行。(应用的场景:加载控件,抓取数据)
onDestory()界面销毁时执行。(应用的场景:销毁占用的资源,释放内存)


三、下面是详细的生命过程:
1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。
6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
【上面的内容是根据生命周期图来给出的内容】


四、对应关系:
onCreate()对应onDestory();
onStart()对应onStop();
onResume()对应onPause();

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值