我们来看一下这一张经典的生命周期流程图:


wKiom1cTSRnDAQ3pAAECZvgtw8Y583.png


1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。

2.当前Activity被其他Activity覆盖其上或被锁屏,或者有dialog弹出时:系统会调用onPause方法,暂停当前Activity的执行。

3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。

4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调用onStop方法,进入停滞状态。

5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行状态。

6.当前Activity处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。

7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。



onPause()是有活动状态变为非活动状态,onStop()是变为不可见

说得通俗一点就是:onPause就是你看得见,但是无法操作,onStop就是你看都看不见



onstart方法调用之后activity对用户可见,但不一定在最前台(最前面)

onresume调用之后activity处于最前台(最前面),可以跟用户交互



wKioL1dAZTTwiwu0AACfuI_6kKg678.png


wKiom1dAaZmitQDPAACuQvXJAeg457.png



wKioL1dAatyCLQuNAAD4byfczgA616.png


参考文章:

http://blog.csdn.net/liuhe688/article/details/6733407