Android学习笔记:活动(Activity)

一、活动的生命周期

1、活动状态
  • 运行状态
    当一个活动位于栈顶的时候,该活动就处于运行状态。(Android是使用任务栈来管理活动的,也称返回栈(Back Stack)。在默认情况下,每当我们启动一个新的活动,它会在返回栈中入栈,并处于栈顶位置。每当我们按下Back键或调用finish()方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动会位于栈顶。系统总是会显示处于栈顶的活动给用户。)

  • 暂停状态
    当一个活动不再处于栈顶的位置,但仍然可见时,这时活动就进入了暂停状态。处于暂停状态的活动是完全存活的。

  • 停止状态
    当一个活动不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态。

  • 销毁状态
    当一个活动从返回栈中移除后就变成了销毁状态。

2、活动的回调方法
  • onCreate()
    ①Activity开始创建时
    ②程序在暂停、停止状态下被杀死后重新打开时
  • onStart()
    ①onCreate()方法之后,即Activity正在被启动时(此时,Activity还不可见(在后台),还无法与用户交互)
    ②Activity从停止状态恢复时调用
  • onResume()
    ①Activity第一次启动完毕(onStart()方法之后调用)
    ②当前Activity被挡住一部分后,重新回到当前Activity时(从暂停状态恢复时调用)
    界面获得焦点
  • onPause()
    ①Activity停止时,仍可见时
    界面失去焦点
  • onStop()
    Activity不在UI最顶层,完全被挡住不可见时
  • onDestroy()
    Activity即将被销毁时
  • onRestart()
    Activity处于onStop()状态时(不可见时)重新回到UI最顶层
3、活动的生命周期

在这里插入图片描述
(1)Activity启动:onCreate()→onStart()→onResume()
(2)点击Home键回到主界面/打开新的Activity:onPause()→onStop()
注:有一种特殊情况,如果新Activity采用了透明主题,那么当前Activity不会回调onStop()
(3)再次回到原Activity时:onRestart()→onStart()→onResume()
(4)退出当前Activity时:onPause()→onStop()→onDestroy()
(5)当执行到onPause()方法Activity失去焦点时,重新回到前台会执行onResume()方法,如果此时进程被销毁Activity重新执行时会先执行onCreate()方法。
(6)当执行到onStop()方法Activity不可见时,再次回到前台会执行onRestart()方法,如果此时进程被销毁Activity会重新执行onCreate()方法。
(7)两个Activity(A、B)切换(B是正常的Activity)的生命周期:onPause(A)->onCreate(B)->onStart(B)->onResume(B)->oStop(A)。这时如果按回退键回退到A,生命周期为:onPause(B)->onRestart(A)->onStart(A)->onResume(A)->oStop(B)。如果在切换到B后调用了A.finish(),

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值