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

相关推荐
BD_Marathon16 分钟前
ChatPromptTemplate的高级特性
android·java·javascript
夜晚回家19 分钟前
Python 变量入门详解 | 用 BMI 案例串起赋值、乘方与取整
android·python
程序猿追21 分钟前
立方体转到九十度:用 kotlin-math 核对鸿蒙上的两种旋转
android·开发语言·kotlin
半调子的社畜29 分钟前
记账 App 我装了删、删了装,最后自己写了一个:本地语音识别 + R8 踩坑复盘
android·ai编程
hunterandroid1 小时前
Android 运行时权限实战:从声明权限到拒绝后的可用降级
android
a5986521 小时前
docker-android 6080 端口访问失败?
android·docker·容器·云手机
天意__2 小时前
Android手机上部署Linux服务器 在Termux里安装Ubuntu
android·linux·服务器
恋猫de小郭2 小时前
Flutter Android 改动:APK 不再允许通过 Intent 动态修改 Engine 参数
android·前端·flutter
修船大队长3 小时前
KL15 高电平请求 FullCom:AUTOSAR 项目调用流程
android·java·服务器
三少爷的鞋4 小时前
毁掉 Android 现代架构,只需要一个自定义的“FlowBus”
android