activity生命周期分析

正常情况下activity会经历如下生命周期

       1、oncreate:表示activity正在被创建,这是程序生命周期的第一个方法,在这个方法中我们可以做一些初始化工作,比如加载布局或者初始化数据等操作;

2、onrestart:表示activity正在重新启动。一般activity从不可见状态重新变为可见状态时调用此方法,比如正在运行的程序,客户按了home键,此时界面变为不可见,activity变为暂停,生命周期执行了onpause和onstop,用户接着又回到这个界面,此时便会调用onrestart;

3、onstart:表示activity正在被启动,即将开始,这是activity已经可见了,但是还诶有出现在前台,不能和用户进行交互。这时可以理解为activity已经可见,但是我们看不到。

4、onresume :表示activity已经可见,并且可以参与活动了。表示此时activity已经在前台了。

5、onpause:表示activity正在停止,正常情况下onstop就会被执行(当然在特殊情况下瞬间回到挡墙界面onresume也会被执行)。在这时用户可以进行一些数据存储,动画停止等操作,但是要注意不能太耗时,这会影响到activity的显示。

6、onstop:表示activity即将停止。可以做一些稍微重量级的操作,也不能太耗时。

7、ondestory:表示activity即将被销毁,这是activity生命周期的最后一个回调。在这里可以做一些回收工作和资源的释放。


activity生命周期如下图所示:

                                                    

经于上图我们作如下分析:

1、对于特定的activity第一次启动,生命周期如下:oncreate->onstart->onresume;

2、当用户打开新的activity切换到桌面的时候执行如下:onpause->onstop;

                    这里有一个特殊情况如果新的activity使用了透明主题,那么当前activity不会调用onstop。

3、当用户回到原activity时,回调如下onrestart->onstart->onresume.

4、当客户按back键时,回调如下onpause->onstop->ondestory;

5、当activity被回收后再次打开,生命周期和新打开activity一般。

6、从整个生命周期来说,oncreate和ondestory是配对的,代表着程序的开始和结束,并且只能有一次调 用;

从activity是否可见来说,onstop和onstart是配对的,随着永和操作或者设备的电量和熄灭可以被调用多 次;

从activity是否在前台来说onresume和onpause是配对的,随着永和操作或者设备的电量和熄灭可以被调用 多次。

       

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值