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 早。

相关推荐
2301_771717212 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
dvjr cloi2 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
随遇丿而安5 小时前
第2周:`EditText` 不只是输入框,它是 Android 输入体验的第一道门
android
我命由我123455 小时前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
一起搞IT吧5 小时前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
小书房10 小时前
Kotlin的by
android·开发语言·kotlin·委托·by
jinanwuhuaguo10 小时前
(第二十八篇)OpenClaw成本与感知的奇点——从“Token封建制”到“全民养虾”的本体论地基
android·人工智能·kotlin·拓扑学·openclaw
xxjj998a11 小时前
Laravel4.x核心特性全解析
android·mysql·laravel
JoshRen11 小时前
2026教程:在Android Termux中集成Gemini 3镜像站实现移动端文档自动处理与摘要生成(附国内免费方案)
android
诸神黄昏EX12 小时前
Android Google KEY
android