这里的生命周期,是指一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。 同样,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()方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。