Android Activity 完全解析(上)

本文深入探讨了Android Activity的生命周期,包括各个状态的转换,如onCreate、onStart、onResume、onPause、onStop和onDestroy。通过示例代码展示了正常启动、切换Activity和横竖屏切换时Activity生命周期的变化,强调了onSaveInstanceState和onRestoreInstanceState在保存和恢复数据中的作用。

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

       学习 Android 恐怕打交道最多的就是 Activity,只要是我们看到的界面上的东西,几乎都是以 Activity 为载体的,它是一种包含用户界面的组件,用于和用户进行交互,Activity 是基础中的基础,但越是基础的东西,我们就有可能忽视它的重要性,这样我们的基础就会不扎实,所以即使是基础的东西,我们还是很有必要去花时间尽力好好分析一下的,下面我们对活动进行详细的介绍,说到活动恐怕活动的生命周期我们就不得不去研究,来看概览图




Activity 的生命周期全面分析:


一、正常情况下一个 Acitivity 会经历如下的生命周期:


Activity 经典生命周期图,来自 Google 官网


1. 生命周期介绍


1)onCreate

这是 Activity 生命周期的第一个方法,这个方法相信我们已经看到了很多次,每个活动我们都重写了这个方法,它会在活动第一次被创建的时候调用,在这个方法中我们可以去做一些初始化的操作,比如调用 setContentView 去加载页面的布局,初始化 Activity 所需的数据等

2)onStart

这个方法在活动由不可见变为可见时调用,这时 Activity 已经可见了,但是还没有出现在前台,还不能和用户进行交互,我们可以理解为 Activity 已经有了,但我们还看不见

3)onResume

这里 Activity 已经可见了,可以和用户进行交互了,这时 Activity 处于栈顶,正在运行,这里要注意和 onStart 进行区分,可以理解为 onStart 和onResume 都表示 Activity 可见,但 onStart 的时候 Activity 还在后台,用户不可见,onResume 的时候在前台,用户可见

4)onPause

这个方法表示 Activity 正在停止,但还没有真正的停止,我们通常在这个方法中将一些消耗资源东西释放,可以存储一些关键的数据,但一定不能做耗时的操作,要不会意向下一个活动的使用

5)onStop

表示 Activity 即将停止,在 Activity 完全不可见得时候调用,可以做一些回收工作,也不能太耗时,这里要注意和 onPause 方法的区分,它和 onPause 方法的主要区别在于,如果新启动的方法是一个对话框式的活动,onPause 方法执行,onStop 方法不执行

6)onDestroy

表示 Activity 即将被销毁,对应于 onCreate 方法,这是 Acitivty 生命周期方法的最后一个回调方法,活动的状态将变为销毁状态

7)onRestart

这个方法在活动由停止状态变为运行状态时调用,这时候活动就是被重新启动了


上面这些都是一些理论的东西,下面我们就来真正的运行代码来看看 Activity 真正的执行情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值