HarmonyOS鸿蒙Next企业面试 UIAbility的生命周期函数,页面和组件的生命周期函数、并简要概述函数调用的场景

首先把生命周期函数说一遍:

UIAbility 有 onCreate、onWindowStageCreate 、onForeground、onBackground,等生命周期函数用于自身创建、窗口创建、置为后台、置为前台等阶段。

Page 有 onPageShow、onPageHide 等函数处理页面显示与隐藏等情况,aboutToAppear、aboutToDisappear 等。

组件 onAppear() 组件显示、onAreaChange() 组件变化、onDisappear() 组件销毁。

1. UIAbility 生命周期

UIAbility是应用运行的抽象,一个应用可以包含多个UIAbility。它的生命周期是整个应用进程的核心。

  • onCreate():

    • 何时触发:UIAbility实例被创建时触发(首次启动或客户端重新启动该UIAbility)。
    • 我通常做什么:在这里执行一些全局的、一次性的初始化工作
  • onWindowStageCreate(windowStage: window.WindowStage):

    • 何时触发:UIAbility实例创建完成后,在进入前台之前,系统为其创建一个主窗口。
    • 我通常做什么配置沉浸式获取断点值
  • onForeground():

    • 何时触发:UIAbility从后台不可见状态即将回到前台可见状态时触发。
    • 我通常做什么:重新开始一些在后台暂停的操作,比如启动动画、继续传感器监听、从服务端获取最新数据等。
  • onBackground():

    • 何时触发:UIAbility即将退到后台不可见状态时触发。
    • 我通常做什么:暂停或停止一些不必要的、耗电的操作以节省资源,比如停止动画、暂停视频播放、断开耗时网络连接等
  • onDestroy():

    • 何时触发:UIAbility实例被销毁时。
    • 我通常做什么:进行最终的清理工作,解除注册的系统服务、释放内存、关闭持久化连接等

2. Page 页面生命周期

Page是UI显示的单元,一个UIAbility可以包含多个Page。它的生命周期关注页面的显示和隐藏。

  • aboutToAppear():

    • 何时触发:页面即将构建和显示时触发。
    • 我通常做什么:请求数据、初始化数据
  • onPageShow():

    • 何时触发:页面完全显示后触发。
    • 我通常做什么:比如获取组件的信息(宽度高度)、组件初始化完成后做的一些操作
  • onPageHide():

    • 何时触发:页面即将隐藏时触发。
    • 我通常做什么
      • 取消网络请求:取消未完成的异步任务和网络请求,避免不必要的回调和处理。
      • 暂停页面活动:暂停页面内的视频播放、计时器等。
  • aboutToDisappear():

    • 何时触发:页面即将销毁或跳转时触发。
    • 我通常做什么
      • 数据持久化:将页面的临时数据保存到AppStorage或LocalStorage中,以便下次恢复。
      • 资源释放:进行页面级别的资源清理。

3. 组件生命周期 (常用装饰器)

组件(Component)是页面的构成元素,拥有自己的生命周期,主要用于组件自身的状态管理。

  • @Builder 函数中的 onAppear():

    • 何时触发:组件首次出现或之前消失后又重新出现时。
    • 我通常做什么:执行组件特定的初始化,比如开始一个组件独有的动画。
  • @Builder 函数中的 onDisappear():

    • 何时触发:组件从页面中消失时。
    • 我通常做什么:停止组件相关的活动,如清除定时器、停止动画。
  • onAreaChange():

    • 何时触发:组件尺寸、位置发生变化时。
    • 我通常做什么:通常用于实现自定义布局或响应式UI,根据组件的新尺寸动态调整内部子组件的布局。

更多关于HarmonyOS鸿蒙Next企业面试 UIAbility的生命周期函数,页面和组件的生命周期函数、并简要概述函数调用的场景的实战教程也可以访问 https://www.itying.com/category-93-b0.html

回到顶部