Android 生命周期详解

Android 生命周期详解

  • [一、Activity 完整生命周期](#一、Activity 完整生命周期)

一、Activity 完整生命周期

  1. onCreate() :页面第一次创建时调用,只执行一次。

    主要处理 setContentView、初始化控件、初始化数据、绑定 TabHost。

    参数 savedInstanceState:页面重建时恢复状态用。

  2. onStart() :页面变为可见但还不能交互。

    从后台切回前台、解锁屏幕都会执行。

  3. onResume():页面获取焦点,可以点击、交互

  4. onPause():页面失去焦点,退到后台。

  5. onStop():页面完全不可见。

  6. onDestroy() :页面即将销毁时调用,只执行一次。

    用于释放资源、注销广播、停止服务。

  7. onRestart() :页面从后台回到前台,但没被销毁。

    流程:onStop → onRestart → onStart → onResume

完整执行流程 :

① 正常打开 → 关闭

复制代码
onCreate() → onStart() → onResume() →(运行中)
→ 按返回键退出
→ onPause() → onStop() → onDestroy()

② 打开 → 回到桌面 → 再切回 APP

复制代码
onCreate → onStart → onResume
→ 回到桌面
→ onPause → onStop
→ 切回APP
→ onRestart → onStart → onResume

③ 屏幕旋转(Activity 重建)

复制代码
onPause → onStop → onSaveInstanceState → onDestroy
→ 重建
→ onCreate → onStart → onResume

额外两个状态保存方法:

  • onSaveInstanceState(Bundle outState)

    页面可能被系统销毁时调用,存储当前 tab、输入框文字、列表位置。

  • onRestoreInstanceState(Bundle savedInstanceState)

    页面重建后调用,比 onCreate 晚,比 onStart 早。

相关推荐
木头左33 分钟前
【Android】听写播放器改版:中英文书写速度拆项与「正在读」高亮
android·room·media3·jetpack compose·听写
好的佩奇1 小时前
Dart 之方法、操作符与可调用对象
android·flutter·dart
恋猫de小郭2 小时前
Flutter Impeller Vulkan 内存持续上涨,问题没想到是文字阴影
android·前端·flutter
张小姐的猫12 小时前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
朱涛的自习室15 小时前
212 个需求、22 万行代码:Agent 接管开源项目的 19 天
android·前端·人工智能
传奇开心果20 小时前
【Flutter踩坑排雷】第3课:const 误用坑|const 错误使用引发 UI 异常与性能损耗
android·flutter
哲鲤20 小时前
AOSP思绎|Android 多媒体:一段视频为什么需要这么多服务
android
阿杰m20 小时前
Android源码第三章:Handler、Looper 与 MessageQueue——一条消息如何入队、唤醒并执行
android
海雅达手持终端PDA1 天前
巡线、深井、爆管抢修与极寒水网的硬件矩阵怎么配?海雅达水务巡检终端PDA选型指南
android·物联网·5g·集成测试·能源·政务