Activity的生命周期

一、Activity有四个状态:
  1. 活动状态:用户可见,可获取焦点。
  2. 暂停状态:其他Activity没有把原来的Activity全部遮挡住,依然可见,但是不能获取焦点。
  3. 停止状态:用户不可见,不可获取焦点。
  4. 销毁状态:该Activity结束。

二、在Activity的生命周期中有七个方法,这些方法在不同的阶段被系统回调:

  1. onCreate(Bundle savedStatus):创建Activity时被回调,做一些数据的初始化工作。
  2. onStart():启动Activity时被回调。
  3. onResume():恢复Activity时被回调。
  4. onPause():暂停Activity时被回调。
  5. onStop():停止Activity时被回调。
  6. onRestart():重新启动Activity时被回调。
  7. onDestroy():销毁Activity时被回调。

三、七个方法被回调的阶段:

  1. 当启动程序的时候,进入入口Activity1,依次调用:
  • onCreate()
  • onStart()
  • onResume()

2. 启动一个新Activity2把Activity1完成遮挡住的时候,依次调用:

Activity1:

  • onPause()

Activity2:

  • onCreate()
  • onStart()
  • onResume()

Activity1:

  • onStop()

3.从Activity2回到Activity1,依次调用(完全遮挡):

Activity2:

  • onPause()

Activity1:

  • onRestart()
  • onStart()
  • onResume()

Activity2:

  • onStop()
  • onDestroy() //根据应用程序的要求而决定是否需要销毁

  四、没有完全遮挡的情况:

1、程序启动进入入口Activity1,与上同。

2、启动一个新Activity2未把Activity1完成遮挡住的时候,依次调用:(Activity1未调用onStop(),所以仍可见,但是不能获取焦点)

Activity1:

  • onPause()

Activity2:

  • onCreate()
  • onStart()
  • onResume()

3.从Activity2回到Activity1,依次调用(未完全遮挡):

Activity2:

  • onPause()

Activity1:

  • onResume()

Activity2:

  • onstop() //因为2被1遮挡住了
  • onDestroy() //根据程序需要决定是否调用



你可能感兴趣的:(Activity的生命周期)