andoid activity生命周期

分析activiyt的生命周期需要从两个方面去学习:1.一般情况下的生命周期,2异常情况下的生命周期。

1.一般情况下的生命周期:即正常操作下的生命周期:

onCreate: activity正在被创建,可做初始化操作

onRestart :activity正在重新启动

onStart:activity正在被启动,可见,但是还没有出现在前台不可以交互

onResume:activity已经可见并显示到前台可以操作

onPause:activity正在被停止,正常情况下下面会调用onStop,但是如果此时快速的回到当前activity,会直接走到onResume,这种情况一般很难复现,但是如果能复现,可在onPasue中执行

数据存储,停止动画等不大耗时的操作,耗时太长会影响新activity的显示

onStop:activity即将被停止,可做轻量级的回收工作

onDestroy:activity即将被销毁,可做回收和资源释放等工作

 

(1)如果是生成特定的activity,onCreate->onStart->onResume

(2)如果从activity执行跳转或者回到桌面 onPause->onStop) 如果新activiyt是透明主题,那么当前activity不会执行onStop 

(3)当再次回到原activity时,onRestart ->onStart->onResume

(4)当用户按Back键时 ,onPause->onStop->onDestory

(5)当activity被系统回收后,再次打开,方法执行顺序和(1)一样,但是过程 不一定一样。

 

 

二.异常情况下的生命周期

1.资源配置发生改变,例如横竖屏切换:activity销毁并重建

onPause->onSaveInstance->onStop->onDestory   

onCraeate->onstart->onRestoreInstanceState->.....

2资源不足导致优先级比较低的activity被杀死

优先级按照高地分为,前台activity优先级最高,可见但非前台的activity其次,最低的是后台activity,根据内存系统会按照优先级高低销毁activity,通过onsaveInstance和onRestoreInstancel来恢复数据

我们可以设置activity的configChanges属性达到横竖屏切换时不去销毁重建的目的 configchanges = "orientation|sceensize",当然还有其他配置方法,keyboradhidden等等,这样,当我们横竖屏切换时

就不会去销毁重建,而是被activity的OnConfigchanges捕捉到了。

至此,activiyt生命周期暂时高一段落,大都是对android开发艺术一书的学习和摘抄。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值