当前位置:首页 > 技术分析 > 正文内容

HarmonyOS的生命周期

ruisui882个月前 (04-23)技术分析23

HarmonyOS 的生命周期管理体系分为 应用、页面、组件 三个层级,其核心逻辑与交互规则如下:

一、应用生命周期(UIAbility 为核心)

  1. 状态流转
    UIAbility 组件的生命周期包括四个状态,通过回调函数管理关键逻辑:
  2. Create 状态:实例创建时触发 onCreate(),用于初始化变量、加载资源等;
  3. Foreground 状态:进入前台时触发 onForeground(),可恢复数据同步或动画;
  4. Background 状态:进入后台时触发 onBackground(),需暂停耗时任务或释放非必要资源;
  5. Destroy 状态:销毁时触发 onDestroy(),清理内存、断开连接等。
  6. WindowStage 关联
  7. 在 onCreate() 后,系统自动创建 WindowStage(窗口舞台),并通过 onWindowStageCreate() 回调通知开发者加载 UI 和设置窗口属性。

二、页面生命周期(@Entry 装饰的组件)

页面生命周期由 @Entry 装饰的根组件管理,包含以下核心接口:

  1. onPageShow:页面每次显示时触发(如应用从后台切换到前台,或路由跳转至该页面);适用于数据刷新、动画恢复等场景。
  2. onPageHide:页面每次隐藏时触发(如路由跳转离开或应用进入后台);可暂停计时器或保存临时数据。
  3. onBackPress:用户点击返回按钮时触发,支持自定义返回逻辑(如弹窗拦截)。

三、组件生命周期(@Component 装饰的自定义组件)

普通组件(非页面根组件)的生命周期通过以下接口实现:

  1. aboutToAppear:组件即将渲染时触发,在 build() 函数执行前调用,用于初始化非 UI 相关数据;
  2. aboutToDisappear:组件即将销毁时触发,用于释放资源或取消订阅事件。

四、执行顺序与交互规则


五、最佳实践

  1. 资源释放:在 onDestroy() 或 aboutToDisappear() 中释放网络连接、定时器等;
  2. 状态恢复:通过 onForeground() 和 onPageShow() 确保前后台切换时数据一致性;
  3. 性能优化:避免在 onCreate() 中执行阻塞性操作,优先使用异步任务。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3552.html

标签: onpageshow
分享给朋友:

“HarmonyOS的生命周期” 的相关文章

亚马逊推出 Amazon Linux 2023 发行版,专为 AWS 云进行优化

稿源:IT之家3 月 19 日消息,本周早些时候,亚马逊宣布推出其第三代 Linux 发行版 Amazon Linux 2023(AL2023)。亚马逊表示,该版本将带来高安全性标准、可预测的生命周期和确定性更新。Amazon Linux 2023 针对 Amazon EC2 进行了优化,与最新的...

Firefox正针对Vue.js进行优化,下版本响应速度将“显著提升”

IT之家 9 月 7 日消息,据 Mozilla 官方博客发文显示,Firefox 浏览器正针对 Vue.js 进行优化,此前 FireFox 浏览器在面向 Vue 3 时遇到了一些性能问题。▲ 图源 Mozilla 官方博客目前开发人员已经对此进行了解决,在 Firefox 118 内部版本中进行...

微信将研发“应用号”体系 或成为App大杂烩应用

Akiha发表于 2016-01-11 18:11微信正在探讨一种新的公众号形态,即在现有的订阅号、服务号之外,再研发新的“应用号”体系。让用户不必去装各种 App,在微信里就能实现各种服务、功能;关注后,“应用号”平时不向用户发送消息,需要时,用户再去点开“应用号”等。目前,微信钱包内已有的服务,...

什么是同步通信?什么是异步通信?它们有什么区别?

串行通信一般又分为同步和异步通信,同步通信需要同步时钟信号,而异步通信则不需要同步时钟信号。同步通信:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。异步通信:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步通信与异步通信有什么区别呢?1、同步通信要求接收端...

Intel RST技术操作指南

一、RST技术介绍1、RST:Intel Rapid Storage Technology(Intel快速存储技术)的英文简称,功能是提高计算机系统性能。就是用一块固态硬盘(SSD)给机械硬盘(HDD)做缓存,提高系统存储的读写速度。2、优势:它具有的特点和优势是能够提升整体硬盘的速度,但是却不会降...

swiper在vue中正确的使用方法

swiper是网页中非常强大的一款轮播插件,说是轮播插件都不恰当,因为它能做的事情太多了,swiper在vue下也是能用的,需要依赖专门的vue-swiper插件,因为vue是没有操作dom的逻辑的,所以写法大不一样,下面附swiper在vue中正确的使用方法1.安装swiper,执行npm ins...