Activity周期与Intent跳转活动的关系

嗯,关于Activity生命周期的那几个状态总也记不住,下午又考虑了一下,然后用一种我能记住的方式记下来,也就是Intent对象跳转活动对Activity周期的影响。
总共七个状态,总是多个出现的。创建活动(设为a)时,状态是这样的:onCreate->onStart->onResume,Intent跳转到另一个活动(设为b)时,活动b被压入栈顶,于是活动a在运行栈中的第二位,此时活动a的状态是这样的:onPause->onStop。这可以理解为不在栈顶的活动都是这个状态(stop状态)。按返回键返回活动a,活动b出栈(出栈等于被销毁),活动a重新占领栈顶,此时它的状态是这样的:onRestart->onStart->onResume。假如没有按返回键返回活动a,而是用intent跳回去,那么活动a的状态是这样的:onCreate->onStart->onResume(对,没错,这样会重新创建一个活动a的对象,那么此时活动a的对象有两个了)。可以看出活动a在栈顶什么都不干的话,状态就是onResume。
那么调用活动a的finish方法的话,状态是这样的:onPause->onStop->onDestroy,嗯,这样就再见了。
声明,onCreate等是activity的虚方法,这里我把他们看成一种状态,请不要被我误解。

你可能感兴趣的:(android,Activity)