Activity类中7个与活动生命周期回调有关的方法:
onCreate()。
在活动第一次被创建时调用。加载布局、绑定事件
onStart()。
在活动由不可见变为可见时调用
onResume()。
在活动准备好和用户交互时调用(此时活动必处于栈顶)
onPause()。
在系统准备去启动或恢复另一个活动时被调用
onStop()。
在活动完全不可见时调用,如果启动的是一个对话框,onStop不会被调用
onDestory()。
在活动被销毁之前调用
onRestart()。
在活动由停止变为运行状态之前调用
demo: MainActivity、NormalActivity、DialogActivity
- 在MainActivity的onCreate方法中注册启动另外两个Activity的点击事件
- 运行程序。当MainActivity第一次被创建时会一次执行onCreate、onStart、onResume方法
- 点击按钮启动NormalActivity。由于NormalActivity已经把MainActivity完全遮住,onPause、onStop方法被执行
- 按下Back键。由于之前MainActivity已经进入了停止状态,所以onRestart被执行,接着onStart、onResume被执行。而onCreate不会被执行,因为MainActivity没有被重新创建
- 在点击第二个按钮启动DialogActivity。onPause方法被执行,而onStop没有被执行,因为DialogActivity并没有完全遮挡住MainActivity,此时MainActivity只是进入了暂停状态,并没有进入停止状态。相应地,按下Back键也只有onResume方法被执行
- 在MainActivity按下Back键退出程序。会依次执行onPause、onStop、onDestroy,最终销毁MainActivity