Android 活动生命周期
返回栈
Android中的活动是可以层叠的。每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键会销毁最上面的活动,下面的一个活动就会重新显示出来。
其实Android是使用任务(TASK)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个也称为返回栈。
活动状态
- 运行状态
处于栈顶的活动 - 暂停装填
非栈顶,但用户可见 - 停止装填
非栈顶,完全不可见 - 销毁状态
从栈中移除
活动的生命周期
onCreate()
会在活动第一次被创建的时候调用。在这个方法中完成活动的初始化操作,比如加载布局、绑定事件等。
onStart()
这个方法在活动由不可见变为可见的时候调用。
onResume()
这个方法在活动准备好和用户进行交互的时候调用。此时的活动一定位于栈的栈顶,并且处于运行状态
onPause()
这个方法在系统准备去启动或者恢复另一个活动的时候调用。通常在方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但一定要快,不然会影响到新的栈顶活动的使用
onStop()
这个方法在活动完全不可见的时候调用。它和onPause()方法的主要区别是,如果启动的新活动是一个对话框式的活动,那么onPause()方法会得到执行,而onStop()方法并不会执行。
onDestory()
这个方法在活动被销毁之前调用,之后活动的状态变为销毁状态
onRestart()
这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。