理解Android中activity,application甚至是service的生命周期是很重要的,能更好的了解一个程序在各种情况下运行的过程,然后编写出更高效和健壮的程序出来。
还是上图比较直接明了,我把activity,application中比较重要的方法都添加了Log,看看调用顺序是怎么的。
首先是程序启动
可以看出首先是application的oncreate方法调用,然后是activity的onCreate -> onStart -> onResume依次调用。
然后是按Home键返回桌面 ,以及按关机键黑屏时
调用顺序依次是onPause → onSaveInstanceState → onStop
然后是重新回到栈顶时, 以及重新唤醒手机时
调用顺序依次是 onRestart → onStart → onResume
最后是切换横竖屏的状态时
这个过程就比较复杂了,首先会调用application的onConfigurationChanged 然后就是activity的方法,太多就不一一罗列了,按照顺序依次执行。