Activity是android里重要组件,主要提供用户界面的,一般每个App都会用到它,牢记activity的生命周期中的各个回调函数的回调顺序是非常必要的。google官方提供的那张图,基本说明了问题,这里也不贴了。尽管之前看了n遍了,但是为了加深印象,自己必须得测试几遍。下面是各个场景测试情况(清单文件未作任何改动):
1、开始一个App时,第一个Activity启动(记作A):onCreate->onStart->onResume,按下BACK键:onPause->onStop->onDestroy。
2、再启动A:onCreate->onStart->onResume,按下HOME键:onPause->onStop。再显示A:onRestart->onStart->onResume。
3、从A跳转到B:A.onPause->B.onCreate->B.onStart->B.onResume->A.onStop。
4、B.finish返回到A:B.onPause->A.onRestart->A.onStart->A.onResume->B.onStop->B.onDestroy。
5、A.finish或按BACK键:onPause->onStop->onDestroy。
上面可以看出:a.任何Activity从onCreate开始到onDestroy结束,且这两个函数只执行一次,其他都可以根据状态反复执行多次。b.任何Acitivity从完全不可见到完全可见,都会回调onStart->onResume。c.任何Activity从完全可见到完全不可见,都会回调onPause->onStop。d.当前Activity将要变为不可见(跳转或finish后)先只是onPause,等另一个完全覆盖(当前Activity完全不可见)