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

Activity生命周期

Activity从启动到销毁的过程。函数

Activity的4种状态

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

Activity栈

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

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

 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() 函数。ci

        onSaveInstanceState() 函数会将界面临时信息保存在Bundle中,onCreate() 函数和onRestoreInstanceState() 函数均可以恢复这些保存的信息。通常简化的作法是在 onCreate() 函数中恢复保存数据,但有些特殊状况仍是须要使用 onRestoreInstanceState() 函数恢复保存信息。如必须在界面彻底初始化完毕后才能进行的操做,或有子类来肯定是否采用默认设置等。(存疑)资源

相关文章
相关标签/搜索