我们来看一下这一张经典的生命周期流程图:
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处于最前台(最前面),可以跟用户交互
参考文章:
<a href="http://blog.csdn.net/liuhe688/article/details/6733407" target="_blank">http://blog.csdn.net/liuhe688/article/details/6733407</a>