Activity生命周期从表面看很简单。就是下面随处可见这张图,但是要深入理解Activity很不容易。实际上这些都是Activity中暴露出来的回调,供开发者快速开发使用,这些回调统称为Activity生命周期。熟悉Activity生命周期很重要,理解Activity的生命周期是开发良好程序的前提。
- Activity启动从onCreate()开始,onDestory()结束,一个页面都只能调用一次。通常在Activity的onCreate中初始化界面的元素,如View的初始化,类的创建,adapter的绑定等。onDestory中,经常处理清理数据,解除绑定等工作。
- onStart可多次调用,页面第一次创建,接着就回调onStart。此时页面开始可见,但无法和用户交互。当前页面从后台切换至前台,会从onStop到onRestart再到onStart这系列恢复界面的动作。
- onResume。当界面完全切入到屏幕上,此时页面完全可见。可以响应用户的操作。
- 当通过Intent跳转到下一个页面,当前页面开始被遮挡,此时将进入onPause回调。
- 当页面完全不可见时,页面进入onStop回调。
- 当调用finish方法,之后将执行到onDestory回调。
- 如果当前进程被杀死,页面恢复时将从onCreate开始。
- 如果界面onStop后,Intent通过singleTask,singleInstance导致已存在的Activity切换到前台,则会onRestart,onstart,onResume。期间并且会执行onNewIntent方法。
- 当页面上弹窗,页面从onResume进入onPause。弹窗关闭时,页面从onPause恢复到onResume。