1、onCreat()
当Activity第一次被创建时调用,我们可以在这里进行初始化操作。
2、onStart()
在 Activity即将对用户可见时调用。
3、onRestart()
当Activity从Stopped状态启动时会调用这个方法,后面总是调用OnStart()方法;
4、onResume()
在即将于用户交互时调用。
5、onPause()
在一个Activity启动另一个Activity时调用,非常重要。它通常被用来持久化数据、停止动画活其他耗费资源的动作。下一个Activity必须等待这个方法返回后在启动,
所以,避免在这里做过多的操作。
6、onStop()
在一个新Activity启动、其他Activity被切换到前台、当前Activity被销毁时都会调用。
7、onDestroy()
Activity被销毁前所调用的最后一个方法。
- 整个的生命周期,从onCreate(Bundle)开始到onDestroy()结束。Activity在onCreate()设置所有的“全局”状态,在onDestory()释放所有的资源。例如:某个Activity有一个在后台运行的线程,用于从网络下载数据,则该Activity可以在onCreate()中创建线程,在onDestory()中停止线程。
- 可见的生命周期,从onStart()开始到onStop()结束。在这段时间,可以看到Activity在屏幕上,尽管有可能不在前台,不能和用户交互。在这两个接口之间,需要保持显示给用户的UI数据和资源等,例如:可以在onStart中注册一个IntentReceiver来监听数据变化导致UI的变动,当不再需要显示时候,可以在onStop()中注销它。onStart(),onStop()都可以被多次调用,因为Activity随时可以在可见和隐藏之间转换。
- 前台的生命周期,从onResume()开始到onPause()结束。在这段时间里,该Activity处于所有 Activity的最前面,和用户进行交互。Activity可以经常性地在resumed和paused状态之间切换,例如:当设备准备休眠时,当一个 Activity处理结果被分发时,当一个新的Intent被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。