Activity生命周期

本文详细解释了Android Activity从创建到销毁的过程中的7个关键生命周期方法及其执行顺序,包括开始Activity、Activity失去焦点、Activity重新获得焦点和关闭Activity四个阶段。重点强调了onPause和onStop方法在状态改变时对系统执行轨迹的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在Activity从建立到销毁的过程中需要在不同的阶段调用7个生命周期方法。

这7个生命周期方法的定义为:

1.  public void onCreated(Bundle savedInstanceState)

2.  public void onStart()

3.  public void onResume()

4.  public void onPause()

5.  public void onStop()

6.  public void onRestart()

7.  public void onDestroy()

 

7个生命周期方法分别在4个阶段按一定顺序进行调用。

这4个阶段为:

1.  开始Activity:在这个阶段依次执行3个生命周期方法,onCreate、onStart和onResume。

2.  Activity失去焦点:如果在Activity获得焦点的情况下进入其他的Activity或应用程序,当前的Activity失去焦点。在这一阶段会依次执行,onPause和onStop方法。

3.  Activity重新获得焦点:如果Activity重新获得焦点,会依次执行3个生命周期方法,onRestart、onStart和onResume。

4.  关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法,onPause、onStop和onDestroy。

 

如果在这4个阶段执行生命周期方法的过程中不发生状态的改变,系统会按照上面描述的依次执行这4个阶段中的生命周期方法,但是,如果在执行过程中改变了状态,系统会按照更复杂的方式调用生命周期方法。

在执行的过程中可以改变系统的执行轨迹的生命周期方法是onPause和onStop。

如果在执行onPause方法的过程中Activity重新获得了焦点,然后又失去焦点。系统将不会执行onStop方法,而是按onPause、onResume、onPause顺序执行相应的生命周期方法。

如果在执行onStop方法的过程中Activity重新获得焦点,然后有失去焦点。系统将不会执行onDestroy方法,而是按onStop、onRestart、onStart、onResume、onPause和onStop顺序执行相应的生命周期方法。

 

我们可以从这个Activity生命周期图看出,图中包含两层循环。第一层:onPause、onResume和onPause,这一层循环称为焦点生命周期。这一层循环在Activity焦点的获得与失去的过程中循环,在这一过程中Activity始终是可见的。第二层:onStop、onRestart、onStart、onResume、onPause和onStop,这一层循环称为可视生命周期。这一层循环在Activity可见与不可见的过程中循环,在这个过程中伴随着Activity焦点的获得与失去,也就是说,Activity首先会被显示,然后会获得焦点,接着会失去焦点,最后由于弹出其他的Activity,是当前的Activity变成不可见。所以Activity生命周期有3种:可视生命周期、焦点生命周期和整体生命周期。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值