首页 理论教育 Android Activity的生命周期全面解析

Android Activity的生命周期全面解析

时间:2023-06-10 理论教育 版权反馈
【摘要】:同样,Activity 也有相应的生命周期。接下来将针对Activity 生命周期的三种状态进行详细讲解。但当内存不足时,这个暂停的Activity 可能被销毁。停止状态当Activity 完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。为了让初学者更好地理解Activity 的三种状态以及处于不同状态时使用的方法,Google 公司专门提供了一个Activity 生命周期模型的图例,具体如图3-4 所示。如果进程被销毁,Activity 会重新执行onCreate()方法。

Android Activity的生命周期全面解析

这里的生命周期,是指一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。 同样,Activity 也有相应的生命周期。 Activity 的生命周期分为三种状态,分别是运行状态、暂停状态和停止状态。 接下来将针对Activity 生命周期的三种状态进行详细讲解。

(1)运行状态

当Activity 在屏幕最前端时,它是可见的、有焦点的,可以用来处理用户常见操作,如单击、双击、长按事件等,这种状态称为运行状态。

(2)暂停状态

在某些情况下,Activity 对用户来说仍然是可见的,但它不再拥有焦点,即用户对它的操作是没有实际意义的。 例如,当最上面的Activity 没有完全覆盖屏幕或者是透明的,被覆盖的Activity 对用户仍然是可见的,并且存活(它保留着所有的状态和成员信息并保持与Activity 管理器的联系)。 但当内存不足时,这个暂停的Activity 可能被销毁。

(3)停止状态

当Activity 完全不可见时,它就处于停止状态,但仍然保留着当前状态和成员信息。然而这些对用户来说都是不可见的,如果当系统内存不足时,这个Activivty 很容易被销毁。

值得一提的是,当Activity 处于运行状态时,Android 会尽可能保持它的运行,即使出现内存不足的情况,Android 也会销毁栈底部的Activity,来确保可见的Activity 正常运行。

Activity 从一种状态转到另一种状态会触发一些事件,具体方法如下:

onCreate(Bundle savedInstanceState):创建时执行。(www.xing528.com)

onStart():可见时执行。

onRestart():回到前台,再次可见时执行。

Onresume():获取焦点时执行。

onPause():失去焦点时执行。

onStop():用户不可见进入后台时执行。

onDestroy():销毁时执行。

为了让初学者更好地理解Activity 的三种状态以及处于不同状态时使用的方法,Google 公司专门提供了一个Activity 生命周期模型的图例,具体如图3-4 所示。

图3-4 Activity 生命周期

从图3-4 可以看出,当Activity 从启动到关闭时,会依次执行onCreate( ) →onStart()→onRestart()→onPause()→onStop()→onDestroy()方法。 当Activity 执行到onPause()方法失去焦点时,重新调用回到前台会执行onRestart()方法。 当执行到onStop()方法Activity 不可见时,再次回到前台会执行onRestart()方法和onStart()方法。 如果进程被销毁,Activity 会重新执行onCreate()方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈