活动的生命周期

Android中的活动是可以层叠的。每启动一个新的活动就会覆盖在原活动之上,点击Back键会销毁最上面的活动,下面的活动就会重新显示出来。

返回栈

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

活动状态

  • 运行状态
    • 一个活动位于返回栈的栈顶
  • 暂停状态
    • 一个活动不再位于返回栈的栈顶,但仍然可见(对话框形式的活动)
  • 停止状态
    • 一个活动不再处于栈顶位置,并且完全不可见
  • 销毁状态
    • 一个活动从返回栈移除

活动的生存期

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

  • onCreate()    在活动第一次创建时被调用
  • onStart()    活动由不可见变为可见的时候调用
  • onResume()   在活动准备好和用户进行交互的时候调用
  • onPause()    系统准备去启动或者恢复另一个活动时调用
  • onStop()    活动完全不可见时调用
  • onDestory()    在活动被销毁之前调用
  • onRestart()    活动由停止状态变为运行状态时调用

完整生存期:onCreate() ---> onDestory()

可见生存期:onStart() ---> onStop()

前台生存期:onResume() ---> onPause()

Android Activity 体验活动的生命周期

 下面是写的一个Project来体验Activity的生命周期

代码:https://github.com/Phil-tom/Android-The-First-Line-of-Code/tree/main/Chapter2/ActivityLifeCycleTest

运行结果图:

第一次被创建,调用了onCreate,onStart,onResume

Android Activity 体验活动的生命周期   Android Activity 体验活动的生命周期

点击第一个按钮 startNormalActivity(会把MainActivity全部遮挡住)

Android Activity 体验活动的生命周期  Android Activity 体验活动的生命周期

按下Back键

 Android Activity 体验活动的生命周期 Android Activity 体验活动的生命周期

按下第二个按钮 startDialogActivity(没有完全遮挡住MainActivity)

Android Activity 体验活动的生命周期   Android Activity 体验活动的生命周期

按下Back键

Android Activity 体验活动的生命周期  Android Activity 体验活动的生命周期

按下Back键,退出程序

Android Activity 体验活动的生命周期

相关文章: