Android Activity 体验活动的生命周期

活动的生命周期

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

返回栈

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

活动状态

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

活动的生存期

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

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

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

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

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

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

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

运行结果图:

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

   

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

  

按下Back键

  

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

   

按下Back键

  

按下Back键,退出程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值