Android基础知识点 Activity相关

典型状况下的生命周期

生命周期 行为 特征
onCreate Activity正在创建
onRestart Activity正在启动 从onStop返回时调用
onStart Activity正在被启动 Activity已经可见,但是还没有出现在前台,还无法和用户交互
onResume Activity已经可见 出现在前台,可以和用户交互
onPause Activity正在停止 正常情况下,紧接着onStop会调用。
特殊情况下,此时快速再回到当前Activity,那么onResume会被调用。
不能做耗时操作,会影响新Activity的显示,onPause必须执行完,新Activity的onResume 才会执行
onStop Activity即将停止 此时回到当前Activity,会执行 onRestart -> onStart -> onResume
onDestroy Activity即将被销毁 可以做一些回收和最终的资源释放
注意事项:
  1. 打开新Activity时,正常当前页面 onPause -> onStop,
    如果新Activity采用透明主题,那么当前Activity不会调onStop

  2. 用户回到原Activity,onRestart -> onStart -> onResume

  3. onCreate、onDestroy配对;
    onStart、onStop配对:根据Activity是否可见来回调的
    onResume、onPause配对:根据Activity是否位于前台来回调的

  4. onPause一定会在新Activity onResume前调用,
    所以不能在onPause中执行重量级操作,避免阻塞


Activity 嵌套 Fragment时的生命周期

ActivityA -> ActivityB(FmtA) -replace-> FmtB > 退出ActivityB ,此过程中触发哪些生命周期方法?

Fragment的 onAttach 在 Activity的 onCreate 后开始执行
Fragment的 onDestroyView 在 Activity的 onStop 后开始执行
Fragment的 onStart 在 Activity的 onStart 之前执行
Fragment replace 切换时,只会触发 Fragment的生命周期,不会触发 Activity的生命周期
在这里插入图片描述

异常情况下的生命周期

1. 系统配置变化(横竖屏切换、语言修改),导致Activity被杀死并重新创建

onPause -> onSaveInstanceState -> onStop -> onDestory - onCreate -> onStart -> onRestoreInstanceState -> onResume

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值