Android中Activity生命周期以及不通状态下生命周期回调顺序

946 阅读1分钟

Activity生命周期我们也算是老生常谈了,不过如果没有办法很好的理解声明周期的调用,我们会在开发中遇到很多的问题。所以这里我进行一下相关的总结方便大家查阅。

1.首先我先总结一下具体Activity有哪些生命周期,并且都是什么时候调用

onCreate:创建页面。把页面上的各个元素加载到内存中。

onStart:开始页面。把页面显示在屏幕上。

onResume:恢复页面。让页面在屏幕上活动起来,例如开启动画、开始任务等。

onPause:暂停页面。让页面在屏幕上的动作停下来。

onStop:停止页面。把页面从屏幕上撤下来。

onDestroy:销毁页面。把页面从内存中清除掉。

onRestart:重启页面。重新加载内存中的页面数据。

2.接着我们总结一下几种情况下生命周期的回调顺序

打开一个页面:本页面onCreate → onStart → onResume

从一个页面跳入另一个页面:上一个页面onPause → 下一个页面onCreate → onStart → onResume → 上一个页面onStop

从一个页面返回上一个页面顺序:下一个页面onPause →上一个页面onRestart → onStart → onResume → 下一个页面onStop → onDestroy

横竖屏:无论是竖屏切换到横屏,还是横屏切换到竖屏,都是原屏幕的页面从onPause 到 onStop 再到 onDestroy 一路销毁,然后新屏幕的页面从onCreate到onStart再到onResume一路创建而来。

按HOME健后又返回APP:onCreate → onStart → onResume → onPause → onStop → onRestart → onStart → onResume

onActivityResult 和 onRestart调用顺序:先调用onActivityResult再调用onRestart