Activity常用生命周期有7个:onCreate、onStart、onResume、onRestart、onPause、onStop、onDestory
正常情况:
1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后 调用onResume,Activity进入运行状态。
2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。
3.当前Activity由被覆盖状态回到前台或解锁屏:系统会调用onResume方法,再次进入运行状态。
4.当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台:系统会先调用onPause方法,然后调 用onStop 方法,进入停滞状态。
5.用户后退回到此Activity:系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,再次进入运行 状态。
6.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。
注意的问题:当用户打开一个新的Activity,当前Activity的onPause会比新Activity的onResume先执行。
异常情况下:
一、 横竖屏切换
当前Activity会被销毁,系统数据会在onStop之前调用onSavaInstanceState来保存数据;当Activity被重新创建后,系统会调用onRestoreInstanceState把保存数据的Bundle对象传给onRestoreInstanceState和onCreate方法,之后就可以取出保存的数据onRestoreInstanceState在onStart之后执行
注意问题:
如果不想重建Activity,可以在Manifest里设置:configChanges=”oritation|screenSize”
二:系统内存不足,系统会杀死低优先级的Activity