Activity生命周期总结


返回栈:

1.Android是使用任务(Task)管理活动的,一个任务就是一组存放在栈里的活动的集合
2.每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置。
3.每当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈。这是前一个入栈的活动就会重新处于栈顶位置,系统总是会显示处于栈顶的活动给用户。


活动状态:

1.运行状态:当一个活动位于返回栈的栈顶时,活动就处于运行状态。
2.暂停状态:当一个活动不再处于栈顶但仍然可见时(*?),活动就处于暂停状态。
3.停止状态:当一个活动不再处于栈顶,并且完全不可见时,就进入了停止状态。(当缺少内存时回收)
4.销毁状态:当一个活动从返回栈移除后,就进入了销毁状态。(优先回收)

*注:不是每一个活动都会占满整个屏幕,例如对话框。


活动的生存期:

  1. onCreate():
  • 活动第一次创建时被调用
  • 在这个方法中完成初始化活动,如加载布局。
  1. onStart():活动由不可见变为可见时调用
  2. onResume():活动准备好和用户交互时调用,此时活动一定位于返回栈的栈顶,并且处于运行状态。
  3. onPause():系统准备启动或者恢复另一个活动时调用。
  • 通常在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据。
  • 但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。
  1. onStop():
  • 这个方法在活动完全不可见的时候调用。
  • 它和onPause()方法主要的区别在于,如果启动的新活动是一个对话框类型的活动,那么onPause()方法会得到执行,而onStop()不会。
  1. onDestroy();
  • 这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
  1. onRestart();
  • 这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

你可能感兴趣的:(Activity生命周期总结)