天天看点

Activity调用finish方法,会回调哪些生命周期方法?

Android中activity可以调用finish方法,结束自己,但是调用finish方法,activity到底会走那些生命周期方法呢,我很好奇,就自己测试一下,下面直接上结论:

在onCreate中:onCreate->onDestroy

在onStart中:onCreate->onStart->onStop->onDestroy

在onResume中:onCreate->onStart->onResume->onPause->onStop->onDestroy

之所以是这样,源码中给出了解释,activity会判断状态,只有没有被finish才会执行下一个生命周期。

mInstrumentation.callActivityOnCreate(activity, r.state) // 函数中会判断:

if (!r.activity.mFinished) {

activity.performStart();

r.stopped = false;

}

if (r != null && !r.activity.mFinished) {

r.activity.performResume();

}

--------------------- 

转自:https://blog.csdn.net/wxz1179503422/article/details/77930217