在一般的情况下, Activity会经历如下生命周期:
(1)onCreate,表示Activity正在北创建,这是生命周期的第一个方法。在这个方法中一般都可以进行一些初始化的操作,比如调用setContentView去加载界面布局、初始化Activity所需的数据等。
(2)onRestart,表示 Activity正在重新启动。一般情况下,当当前的Activity从不可见变为可见的时候,onRestart就回被调用。这种情形一般都是用户行为导致的,比如切换到android主界面或者打开了一个新的activity。
(3)onStart:表示Activity 正在被启动,即将开始。这时的activity已经可见了,但是还无法和用户进行交互也就是还没有出现在前台。
(4)onResume:表示Activity已经出现在前台并且可以进行交互了。
(5)onPuse:表示Activity正在停止,一般来说onStop会紧接着执行。我们可以在这个方法中进行一些数据存储以及结束动画的操作,但是不能太耗时,因为只有当onPuse 执行完了之后新的activity 才会去执行。
(6)onStop:表示Activity即将停止,我们可以做一些回收工作,同样不能太耗时。
(7)onDestroy:表示 Activity即将被回收,这是Activity生命周期的最后一个回调,我们可以做一些回收工作和资源释放。
额外说明:
(1)onStart和onResume、onPause和onStop看起来差不多,它们的区别:
onStart和onStop 是从Activity是否可见的角度回调的。而onResume和onPause是从Activity是否位于前台角度回调的,除了这个区别,在使用中并没有其它实质区别。
(2)当启动一个新的Activity时,会现调用旧Activity的onPause,在旧的onPause完成后才回调用新的onResume。
参考书目:《Android开发艺术探索》任玉刚著