Activity的生命周期学习总结:
onCreat onStart onRestart onResume onPause onStop onDestroy
onCreate:Activity第一次被创建时调用,启动新的Activity时调用。
onStart:用户可以看到Activity时被调用。
onResume:Activity获得用户焦点时被调用
onPause:启动另一个Activity是,这个Activity调用onPause。
onStop:用户完全不可见时调用。这个Activity处于停止状态,但没有被销毁,再次启动时会调用onRestart。Ps:在一个Activity中用对话框时,改Activity不会onStop,因为没有完全不可见。
onDestroy:1、finish()2、系统资源不够用时
例如:
启动一个新的Activity时:onCreat ->onStart ->onResume。
启动第二个Activity时:
(1)第二个Activity把第一个Activity完全覆盖了
FristActivity.onPause->启动一个新的Activity需要调用的函数->FristActivity.onStop(ps:启动第二个Activity后第一个Activity用户不可见)。
(2)第二个Activity没有完全把第一个覆盖
FristActivity.onPause->启动一个新的Activity需要调用的函数(ps:而不会在调用FristActivity.onStop,再次启动第一个Activity时,就不需要onStart了)
由第二个Activity退回第一个Activity时:
(1)第二个Activity把第一个Activity完全覆盖了
SecondActivity.onPause->FristActivity.onRestart->FristActivity.onStart->FristActivity.onResume->SecondActivity.onStop->SecondActivity.onDestroy。
(2)第二个Activity没有完全把第一个覆盖
SecondActivity.onPause->FristActivity.onResume->SecondActivity.onStop->SecondActivity.onDestroy。
常见几个过程里的Activity的生命周期: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处于被覆盖状态或者后台不可见状态,即第2步和第4步,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,进入运行状态。
7.用户退出当前Activity:系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,结束当前Activity。