HarmonyOS的生命周期
HarmonyOS 的生命周期管理体系分为 应用、页面、组件 三个层级,其核心逻辑与交互规则如下:
一、应用生命周期(UIAbility 为核心)
- 状态流转
UIAbility 组件的生命周期包括四个状态,通过回调函数管理关键逻辑: - Create 状态:实例创建时触发 onCreate(),用于初始化变量、加载资源等;
- Foreground 状态:进入前台时触发 onForeground(),可恢复数据同步或动画;
- Background 状态:进入后台时触发 onBackground(),需暂停耗时任务或释放非必要资源;
- Destroy 状态:销毁时触发 onDestroy(),清理内存、断开连接等。
- WindowStage 关联
- 在 onCreate() 后,系统自动创建 WindowStage(窗口舞台),并通过 onWindowStageCreate() 回调通知开发者加载 UI 和设置窗口属性。
二、页面生命周期(@Entry 装饰的组件)
页面生命周期由 @Entry 装饰的根组件管理,包含以下核心接口:
- onPageShow:页面每次显示时触发(如应用从后台切换到前台,或路由跳转至该页面);适用于数据刷新、动画恢复等场景。
- onPageHide:页面每次隐藏时触发(如路由跳转离开或应用进入后台);可暂停计时器或保存临时数据。
- onBackPress:用户点击返回按钮时触发,支持自定义返回逻辑(如弹窗拦截)。
三、组件生命周期(@Component 装饰的自定义组件)
普通组件(非页面根组件)的生命周期通过以下接口实现:
- aboutToAppear:组件即将渲染时触发,在 build() 函数执行前调用,用于初始化非 UI 相关数据;
- aboutToDisappear:组件即将销毁时触发,用于释放资源或取消订阅事件。
四、执行顺序与交互规则
五、最佳实践
- 资源释放:在 onDestroy() 或 aboutToDisappear() 中释放网络连接、定时器等;
- 状态恢复:通过 onForeground() 和 onPageShow() 确保前后台切换时数据一致性;
- 性能优化:避免在 onCreate() 中执行阻塞性操作,优先使用异步任务。