美文网首页
Activity的生命周期

Activity的生命周期

作者: 筱湮 | 来源:发表于2018-09-11 00:12 被阅读0次

    返回栈

    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的生命周期

          本文链接:https://www.haomeiwen.com/subject/rtqygftx.html