Android开发

四大组件|Activity的生命周期

2019-01-12  本文已影响4人  chipsss

掌握activity的生命周期对app的流畅至关重要。可以让我们在合理管理应用资源方面发挥得游刃有余,并让app拥有更好得用户体验。
本篇主要介绍Activity的生命周期及其相关应用。


生命周期流程图:

activity流程图.png

四种活动状态:

活动状态 特点 回收情况
运行状态 处于栈顶 最不愿意回收
暂停状态 不处于栈顶但仍然可见 内存极低的情况,系统才会回收
停止状态 不处于栈顶且完全不可见 其他地方需要内存时,有可能被回收
销毁状态 从返回栈移除 系统最喜欢回收

activity的生存期:

7个回调方法:
3个生存期:

异常情况下的生命周期:

系统资源配置发生改变或系统内存不足时,activity可能被杀死。

此种情况系统会调用onSaveInstance来保存当前activity的状态,这个方法在OnStop之前,与onPause没有时序关系。会将保存的数据作为Bundle对象传递给onRestoreInstanceState和onCreate()方法。
同时,在onSaveInstanceState和onRestoreInstanceState方法中,系统自动为我们做了一些恢复工作,如:文本框(EditeText)中用户输入的数据,ListView滚动的位置等,这些view相关的状态系统都能够默认为我们恢复。

Activity与Fragment生命周期关系:

Activity与menu创建的顺序:

onResume后创建Menu,回调onCreateOptionMenu

参考:
《第一行代码》
Android四大组件

上一篇 下一篇

猜你喜欢

热点阅读