Activity生命周期图

1、当第一次调用一个Activity就会执行onCreate方法
2、当Activity处于可见状态的时候就会调用onStart方法
3、当Activity可以得到用户焦点的时候就会调用onResume方法
4、当Activity被遮挡住的时候就会调用onPause方法
5、当Activity处于不可见状态的时候就会调用onStop方法
6、当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法
7、当Activity被销毁时会调用onDestory方法
实例:
首先新建两个Activity:MainActivity和SecondActivity,
MainActivity里点击按钮可打开SecondActivity,在两个Activity中分别加入七大生命周期的回调函数,
并在函数方法中添加log日志(
Log.i("Activity名","方法名")
,例:
Log.i("
MainActivity:
","onStart()")
)
接下来进行调试:
打开第一个MainActivity依次执行onCreate()->onStart()->onResume(),
MainActivity入栈。
打开第二个SecondActivity先执行MainActivity的onPause(),
再执行Second的onCreate()->onStart()->onResume(),
Second入栈,
最后执行MainActivity的onStop(),
此时Activity返回栈的栈顶为SecondActivity,
MainActivity被压入栈。
按下返回键,先执行SecondActivity的onPause(),
再执行MainActivity的onRestart()->onStart()->onResume(),
此时MainAcitivity回到栈顶,
待MainActivity重新回到栈顶并准备好与用户交互后,
SecondActivity才执行onStop()->onDestroy(),
此时SecondActivity()出栈。
在一个Activity交互时按下home键或打开任务面板时,
会执行该Activity的onPause()->onStop(),而不会执行onDestroy(),
当用户再此点开该程序后执行onRestart()->onStart()->onResume()恢复。