Activity生命周期(1)—事件回调函数

Activity生命周期

Activity从启动到销毁的过程。

Activity的4种状态

  • 活动状态
  • 暂停状态
  • 停止状态
  • 非活动状态 

Activity栈

栈顶的Activity处于活动状态,除栈顶以外的其他Activity处于暂停状态或停止状态,而被终止的Activity或已经出栈的Activity则不在栈内。

        随着用户在界面进行的操作,以及Android系统对资源的动态管理,Activity不断变化其在Activity栈中的位置,状态也不断在4种状态间转变。随着Activity自身状态的变化,Android系统会调用不同的事件回调函数,开发人员在事件回调函数中添加代码,就可以在Activity状态变化时完成适当的工作。

 Activity事件回调函数

1.Activity生命周期的事件回调函数 

函数是否可终止说明
onCreate()>Android启动后第一个被调用的函数
>常用来进行Activity的初始化(如创建view、绑定数据、恢复信息等)
onStart()>Activity显示在屏幕上时,该函数被调用
onRestart()>Activity从停止状态进入活动状态前,调用该函数
onResume()>当Activity可以接受用户输入时,该函数被调用
>此时的Activity处于Activity栈顶
onPause()>Activity进入暂停状态时,该函数被调用
>主要用来保持持久数据、关闭动画、释放CPU资源等
>该函数必须简短,因为另一个Activity必须等待该函数执行完毕后才能显示在界面上
onStop()>当Activity不对用户可见后,该函数被调用,Activity进入停止状态
onDestroy()>Activity被终止(进入非活动状态)前,该函数被调用
>程序主动调用finish()函数或程序被Android系统终结

 2.Activity状态保存/恢复的事件回调函数

函数说明
onSaveInstanceState()暂停或停止Activity前调用该函数,用以保存Activity的临时信息
onRestoreInstanceState()恢复onSaveInstanceState()保存的Activity状态信息

        onSaveInstanceState() 和 onRestoreInstanceState() 函数不属于生命周期的事件回调函数,onSaveInstanceState() 在Activity 被暂时停止时(或被其他程序中断或者锁屏)被调用,而Activity被完全关闭时(调用 finish() 函数)则不会被调用。当暂停的Activity被恢复时,系统调用 onRestoreInstanceState() 函数。

        onSaveInstanceState() 函数会将界面临时信息保存在Bundle中,onCreate() 函数和onRestoreInstanceState() 函数都可以恢复这些保存的信息。一般简化的做法是在 onCreate() 函数中恢复保存数据,但有些特殊情况还是需要使用 onRestoreInstanceState() 函数恢复保存信息。如必须在界面完全初始化完毕后才能进行的操作,或有子类来确定是否采用默认设置等。(存疑)

转载于:https://my.oschina.net/zhangyujian/blog/786434

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值