探究activity的各回调方法之前,首先插入一张官方的生命周期图,然后用适合自己的语言记录下简化的生命周期中各回调方法的涵义。
onCreate()
一般人认为的activity的入口(然而不是),当activity第一次created之后会回调这个方法。如果把activity比作房子的话,回调这个方法之前activity还只是一个毛坯房,我们要在这个方法里边对它进行装修,这样它随后显示的效果就跟我们所预想的一样了。
onstart() :
这个时候我们可以看到activity了。
onResume() :
这个时候我们可以跟activity进行交互了。
onPause() :
这个时候我们还是能看到activity,但是不能进行交互了。举个栗子,假设我们当前的activity为A,有一个启动activity B的意图,这个时候A会回调onPause(),当A的onPause()回调完成之后,B开始onCreate()->onStart()->onResume()…完了之后B就处于可见可交互的状态了。那么A呢?如果此时A看不见了,A就会回调onStop()方法;另一种情况是此时A还是部分可见的(比如Activity B的主题是@android:style/Theme.Dialog),A就不会回调onStop(); 从上面的分析可以知道,onPause()方法里面不允许做耗时的操作,不然B等了半天都启动不了。
有一点需要注意的是,不是说A处于部分可见但是不可交互的状态就一定会回调onPause()的,不信你s