Android学习笔记——Activity生命周期

之前面试Android时,面试官问过我Activity生命周期的问题,答得不是很好,翻看了一下书籍,在此将书里的知识做个笔记。

正常情况下Activity生命周期

正常情况下Activity的生命周期方法为依次为onCreate,onStart,onResume,onPause,onStop,onDestroy。

onStart,onResume的区别

onStart阶段的时候,Activity已经可见,但是还没有位于前台,可以理解为还无法进行交互。比如当Activity弹出一个对话框时,此时的Activity无法点击,就出处于这个阶段。

onResume阶段的时候不但已经可见了而且位于前台,可以交互。

Tips

1.onStop表示Activity已经停止运作,但不一定被销毁。onDestroy被调用表示Activity已经被销毁了。

2.用户打开新Activity或者按home键切回桌面时,会调用onPause,onStop。

按返回键返回上一个Activity会调用onPause,onStop,onDestroy。

3.回到原Activity时会调用onRestart,onStart,onResume

4.只有当前一个Activity的onPause执行后,下一个Activity(的onResume)才会启动

异常情况下的生命周期

1.当系统配置发生变化后(如屏幕转向),Activity可能会被销毁。此时系统会在调用onStop之前调用onSaveInstanceState,onSaveInstanceState只会在Activity被异常终止时调用。在Activity被重新创建时,系统会调用onRestoreInstanceState,来恢复数据。
恢复数据可以选择onCreate或者onRestoreInstanceState。
2.另外,当系统内存不足时,需要回收资源,也会优先回收优先级低的Activity。Activity的优先级由高到低依次是,前台Activity,可见非前台Activity,后台Activity(已经执行了onStop)。
由于这种原因被回收的Activity也会执行onSaveInstanceState,onRestoreInstanceState。
不带四大组件的进程会优先被杀死

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值