小白胡说:Activity的生命周期函数

Android提供了很多Activity的生命的函数。常用的有:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestory(),onRestart()方法等。

流程图如下:


 

我通过重写生命周期方法,输出语句“执行了XXXX方法”来判断安卓各个生命周期函数的执行顺序。通过查阅一些资料在结合实验,了解生命周期的执行情况。

 

我的程序很简单,就是实现一个登陆界面,然后输入登陆信息过后,界面跳转。查看几种情况下,各方法的执行情况。

 

情景一:程序启动Activiity

         首先模拟器调用的方法是onCreate方法,紧接着调用onStart方法创建Activity和界面,最后调用onResume方法,使得Activity和用户开始交互,获得焦点。此时,Activity进入运行状态。




情景二:当用户输入信息后,点击登录

此时,模拟器执行了onPause()方法,当前的activity被暂停。因为界面挑战到第二个activity。当前activity被第二个activity覆盖。


当界面跳转成功后,onStop()方法被执行。


情景三:当程序重新开始运行,并输入信息。

模拟器执行第一个activity需要调用的方法。但是在输入信息后,调用了ondestory方法。



随后就是创建调用第二个activity时需要用到的方法。




情景四:退出当前activity


结束了当前的activity。

最后通过查阅一些资料结合本次测试,大致总结一下activity的生命周期函数:

onCreate():创建Activity调用,用于Activity的初始化,在Activity生命周期中只执行一次,适用于实例化对象

onStart():Activity:在屏幕上对用户可见时调用

onResume():Activity开始和用户交互的时候调用,这时该Activity是在Activity栈的顶部 获焦的时候

onPause():Activity被暂停时调用,被其他的Activity挡在后面,这里可以做一些清理和保存工作

onStop():Activity被停止或者Activity变成不可见时调用

onDestroy():Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候

1.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

2.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

3.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

4.当前Activity处于被覆盖状态或者后台不可见状态,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

5.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值