Activity的生命周期

Posted Hmake

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity的生命周期相关的知识,希望对你有一定的参考价值。

介绍Activity的生命周期,我们得先了解什么是Activity。

Activity是一个负责与用户交互的组件,用户可以用来交互为了完成某项任务,

而且Activity提供一个屏幕,它上面能显示些控件并且监听用户的事件做出反应。

 

发一张Activity的生命周期图:

onCreate():

  Activity由系统自动创建,被创建的时候,会自动运行该方法。该方法做一些初始化动作,比如

创建views,设置数据到list等等,该方法提供了一个Bundle类型的变量,该变量中有这个Activity以

前状态的信息,前提是以前存过这些信息。若在onCreate方法中加入finish方法,onCreate下一个运

行onDestroy方法。

 

onRestart():

  该方法能将Activity从Stop状态唤醒,执行onStart方法前先执行onRestart方法。若在该方法中加

入finish方法,仍然会执行onStart方法直到onDestroy方法。

 

onStart():

  当Activity对用户可见之前( “Activity对用户可见”  就是安卓设备的屏幕完全显示该程序且被聚焦)则

调用onStart方法。若在该方法加入finish方法,该方法之后则调用onStop --> onDestroy。

 

onResume():

  当Activity开始与用户交互时,会调用onResume方法,并且将该Activity置于Activity栈的顶部(Activity

是由Activity栈进行管理的,当新的Activity进来时,新的Activity则被置于Activity栈的栈顶,之前的Activity位

于此Activity的底部)。该方法执行完则执行完onPause方法。

 

onPause():

  当一个Activity执行完onResume方法后,就会执行该方法。或者Activity被其他Activity覆盖时,被覆盖的

Activity也会调用该方法。

 

onStop():

  当这个Activity完全看不见的时候,就会执行onStop方法。还有3种情况也会执行onStop方法:

  1.当有一个新的Activity被执行时,这个Activity就会被停止。

  2.一个已经存在的Activity被切换到最前段。

  3.这个Activity要被销毁了。

如果用户想要找回这个Activity,就得执行onStart方法;反之,则执行onDestroy方法。

 

onDestroy():

  当Activity销毁前则执行该方法。

 

以上就是我对Activity生命周期的理解,可能存在误点,忘谅解。

以上是关于Activity的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Activity的生命周期及常见回调顺序

Activity与Fragment的生命周期详解

Activity的生命周期

Activity横竖屏切换生命周期变化

Android 的生命周期

Activity-运行状态及生命周期