Activity的生命周期

返回栈

Android是用Task(任务)来管理活动的。一个Task就是一组存放在栈里的活动的集合,这个栈被称为Back Stack(返回栈)。

系统总是会显示处于栈顶的活动给用户。

活动的状态

  • 运行状态
    当一个活动位于返回栈的栈顶时

  • 暂停状态
    但一个活动不再处于栈顶,但仍然可见时

  • 停止状态
    当一个活动不再处于栈顶,并且不可见时

  • 销毁状态
    从返回栈中移除后

活动的生存期

Activity类定义了7个回调方法,覆盖活动生命周期的每一个环节。

  • onCreate() 活动第一次被创建的时候调用。在这个方法中完成活动的初始化操作,例如加载布局、绑定事件等。

  • onStart() 活动由不可见变为可见的时候调用。

  • onResume() 活动准备好和用户进行交互的时候调用。此时活动一定位于返回栈的栈顶,并处于运行状态

  • onPause() 系统准备去启动或者恢复另一个活动的时候调用。

  • onStop() 活动完全不可见的时候调用。

  • onDestroy() 活动被销毁之前调用。之后活动状态变为销毁状态。

  • onRestart() 活动由停止状态变为运行状态之前调用。

onPause()onStop() 的区别:如果启动的新活动是一个对话框式的活动,那么onPause()方法会得到执行,而onStop()方法并不会被执行。

3种生存期

除了onRestart(),其他方法都是两两相对的。可将活动分为3种生存期。

  • 完整生存期 活动在onCreate()onDestroy()方法之间所经历的。一般情况,onCreate()完成初始化操作,onDestroy()完成释放内存的操作。

  • 可见生存期 活动在onStart()onStop()方法之间所经历的。活动对于用户总是可见的,即便有可能无法和用户进行交互。onStart()资源进行加载onStop()资源进行释放,保证处于停止状态的活动不会占用过多内存。

  • 前台生存期 活动在onResume()onPause()方法之间所经历的。活动处于运行状态

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