学Android,绕不开的一个问题是 Activity的生命周期。关于这个网络上讲了很多,打印log是非常有效的方法。
而Activity生命周期Docs里写的很清楚,如图。
这里我想说的是,请注意以下两个Activity的跳转时(Activity01跳转Activity02),执行方法的顺序。
1.进入Activity01:
2.从Activity01进入Activity02:
3.从Activity02返回到Activity01:
4.退出Activity01:
由上可以得出两点结论,
1) onRestart() 在 onStart() 之前执行。
2) 从Activity01切换到Activity02的时候,
先执行Activity01的onPause(),
然后是Activity02的onCreate(),
Activity02的onStart(),
Activity02的onResume(),
然后才是 Activity01的onStop();
而非原先认为的
先Activity01的onPause(),
Activity01的onStop(),
才是Activity01的onCreate(),
onStart(),
onResume().