Activity 的 生命周期分析

本文详细解析了Android中Activity的生命周期,包括正常运行时的启动、暂停、销毁过程,以及从后台恢复到前台的流程。此外还介绍了Activity在异常情况下的运行状态,如系统配置变化时的重启机制,并给出了优化建议。

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

Activity 的 生命周期分析

**这里写图片描述**

activity 正常运行时

  1. activity 从onCreate 开始启动 顺序执行 onCreate-onStart-onResume ,进入activity 开始运行程序。

  2. 在退出时 会先执行onPause-onStop activity退到后台,继续执行- onDestroy。 activity注销。

  3. 从后台回复到正常前台可交互界面时 会先经过onRestart-onStart-onResume。再次进入ancient开始运行程序 ,所以在onResume中可以写一些对程序运行有需要的判断(比如说在判断用户是否登录时可在此进行判断,来对下面的逻辑进行展开)

  4. onStart 和 onResume的区别 onStart是activity开始运行已经到前台但是用户看不见,onResume后可以开始交互

  5. onStop 和 onPause类似。同样是通过是否能看见的角度开调用的。

  6. activityA 跳转到activityB中的执行顺序是

activityA —onPause
activityB —onCreat
activityB —onStart
activityB —onResume
activityA —onStop

activityB会在A的onPause结束后才开始执行,所在onPause中最好不要做耗时操作。

activity 异常运行时

activity在系统运行内存不足后会杀死activity 或是activity在系统配置发生变化时杀死并重建activity

1.在手机横屏与竖屏之间切换时会发生系统配置图片等信息重置,这时activity会进入异常的生命周期,
会调用onSaveInstanceState方法 对当的状态信息进行保存,
在同过新建activity的onRestoreInstanceState方法来回复,
oldActivity — onSaveInstanceState
newActivity — onCreat
newActivity — onStart
newActivity — onRestoreInstanceState
newActivity — onResume

2资源管理不足内存不足会杀死activity (会通过优先级进行选择)

(1)前台Activity -正在交互 优先级最高

(2)可以看见不可以交互的

(3) 到后台 看不见的 优先级最低

3 同时我们可以通过改变configChanges的 值来使activity不再关闭重建

android:configChanges="orientation"  //横屏竖屏转换是使用

keyboardHidden  //键盘的可访问性发生变化,比如用户调出了键盘

locale  // 设备的本地位置发生变化,一般指切换了系统语言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值