Android应用activity四种状态及生命周期
一、四种状态
running | 可见,并且可操作 | 一个新的Acivity入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见,并且可以和用户交互的状态。 |
---|
paused | 暂停 可见但不能被操作 | 当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态,此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点所以不可以与用户交互。(可见但不能被操作)。 | stopped | 处于停止状态,不可见,也不可以被操作 | 当Activity被另一个acivity覆盖,失去焦点并不可见时处于停止状态。 | killed | 处于销毁状态 | activity被系统回收或者没有被启动时处于销毁状态。 |
这是关于四种状态的示例 需要注意的是
- 当一个Android应用运行时,Android系统以Activity栈的形式管理应用中的全部Activity
- 当一个Activity实例被创建、销毁或者启动另外一个Activity时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。
- Android定义了一系列与生命周期相关的方法,在Activity中只是根据需要重写需要的方法。
四种状态转换关系如下
二、生命周期
生命周期图 生命周期方法
onCreate(Bundle savedStatus) | 创建Activity时被回调,只会被回调一次 | 该方法在Activity的实例被Android系统创建后第一个被调用。通常在该方法中设置显示屏幕的布局、初始化数据、设置控件被点击的事件响应代码。 |
---|
onStart() | 启动Activity时被回调 | 在Activity可见时执行 | onRestart() | 重启Activity时被回调 | 回到最上边的界面,再次可见时执行 | onResume() | 恢复Activity时被回调,onRestart() 方法之后一定会回调该方法 | Activity获取焦点时执行。 | onPause() | 暂停Activity时被回调 | Activity失去焦点时执行。 | onStop() | 停止Activity被回调 | 用户不可见进入后台时执行。 | onDestroy() | 销毁Activity时被回调 | Activity销毁时执行 |
注意:
- 生命周期方法 , 成对出现(配对)
- onCreate() & onDestory()
- onStart() & onStop()
- onResume() & onPause()
|