一、 Activity 的生命周期概念
Activity 的生命周期指的是, Activity 对象从被创建到销毁的全过程
二、 Activity 的状态
- 运行状态( Running): 该状态表示 Activity 可见并且拥有用户焦点;
- 暂停状态( Paused):如果 Activity A 被 Activity B 覆盖了一部分,但是
Activity A 又是可见的,那么 Activity A 就处于暂停状态; - 停止状态( Stop):如果 Activity A 被 Activity B 完全覆盖,或者由于用户
点击 Home 按钮导致 Activity A 处于后台。那么 Activity A 就处于停止状
态; - Killed 状态: 被系统杀死回收或者没有被启动时处于 Killed 状态。
三、 Activity 生命周期的 7 个回调函数
- public void onCreate(Bundle savedInstanceState)
- 一个 Activity 的实例被启动时调用的第一个方法。一般情况下,我们都覆盖该方法作为应用程序的一个入口点,在这里做一些初始化数据、设置用户界面等工作。大多数情况下,我们都要在这里从 xml 中加载设计好的用户界面。
setContentView(R.layout.activity_main);
- protected void onStart()
该方法在 onCreate() 方法之后被调用,或者在 Activity 从 Stop 状态转换为 Active 状态时被调用 - protected void onRestart ()
在 Activity 从 Pause 状态转换到 running 状态时被调用。 - protected void onResume()
在 执行完 onStart()方法后被调用,获得焦点,用户可以点击屏幕进行交互。 - protected void onPause()
当需要切断 Activity 与用户进行交互时被系统回调,失去焦点,用户点击无法交互。从 running 状态转换到 Pause 状态。 - protected void onStop()
在 Activity 从 Pause 状态转换到 Stop 状态时被调用。 - protected void onDestroy()
在 Active 被结束时调用,它是被结束时调用的最后一个方法,在这里一
般做些释放资源,清理内存等工作。
生命周期图: