Activity生命周期理解之一 启动一个Activity

一、把Activity生命周期当做一个有序的金字塔结构序列,这个金字塔表明Activity生命周期里有六个状态,这里重要的是Resumed、Paused、Stopped三个重要的状态。

1、Resumed:这个状态下activity在前端展示,用户能够与之交互。又称运行态(running)

2、Paused:这种状态下,activity部分被其他activity遮蔽了,另一个在前端时是半透明或者没有覆盖整个屏幕。Paused状态下的activity不好接受用户的输入并且不能运行任何代码

3、Stopped:这种状态下,activity完全隐藏了,activity实例和所以的状态信息(比如成员变量)是保留的,但是不会执行任何代码。


二、当系统创建一个activity实例时,每一个回调函数(onXXX())推动activity的状态到金字塔结构的顶端(Resumed)。

当用户离开activity时,会根据情况执行金字塔结构右边的步骤。

三、为保证你的程序在一些情况下运行良好,需要实现activity的生命周期函数。这些情况包括以下几个方面:

1、当用户正使用你的程序的时候接听电话或者切换到其他程序,使程序不会发生崩溃。

2、当用户不使用程序的时候不会笑话有用的系统资源

3、如果用户离开后又返回的话,不会丢失用户的进程

4、在切换横竖屏的时候不会崩溃或丢失用户的进程

四、必须实行onCreate()方法来处理那些在整个生命周期只运行一次的代码逻辑。比如,你应该在要实现的onCreate()方法中定义用户接口和可能还需要初始化类成员变量。

一旦onCreate()运行结束,系统会迅速地调用onStart()和onResume()方法。这时activity再也不会回到Created和Started状态。技术上来说,当调用onStart()方法时activity变得可见,然后迅速调用onResume()方法进入Resumed状态,直到发生其他事情改变这一点,比如来了个电话,用户浏览了其他activity,或者设备的屏幕关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值