下表详细描述了这些方法,并在activity的整个生命周期中定位了它们。
方法 | 描述 | 是否可被杀死(Killable?) | 下一个 |
在activity第一次被创建的时候调用。这里是你做所有初始化设置的地方──创建视图、绑定数据至列表等。如果曾经有状态记录(参阅后述Saving Activity State。),则调用此方法时会传入一个包含着此activity以前状态的包对象做为参数。 接下来始终遵循调用onStart()。 | 否 | onStart() | |
在activity停止后,在再次启动之前被调用。 接下来始终遵循调用onStart()。 | 否 | onStart() | |
当activity正要变得为用户所见时被调用。 当activity转向前台时接下来调用onResume(),在activity变为隐藏时接下来调用onStop()。 | 否 | onResume() 或 onStop() | |
在activity开始与用户进行交互之前被调用。此时activity位于堆栈顶部,并接受用户输入。 接下来始终遵循调用onPause()。 | 否 | | |
当系统将要启动另一个activity时调用。此方法主要用来将未保存的变化进行持久化,停止类似动画这样耗费CPU的动作等。这一切动作应该在短时间内完成,因为下一个activity必须等到此方法返回后才会继续。 当activity重新回到前台时接下来调用onResume()。当activity变为用户不可见时接下来调用onStop()。 | 是 | onResume() 或 onStop() | |
当activity不再为用户可见时调用此方法。这可能发生在它被销毁或者另一个activity(可能是现存的或者是新的)回到运行状态并覆盖了它。 如果activity再次回到前台跟用户交互则接下来调用onRestart(),如果关闭activity则接下来调用onDestroy()。 | 是 | onRestart() or onDestroy() | |
在activity销毁前调用。这是activity接收的最后一个调用。这可能发生在activity结束(调用了它的 | 是 | 无 |