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