HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第55天,PageAbility的生命周期

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第55天,PageAbility的生命周期

1、PageAbility组件概述

PageAbility是包含UI界面、提供展示UI能力的应用组件,主要用于与用户交互。

开发者通过DevEco Studio开发平台创建PageAbility时,DevEco Studio会自动创建相关模板代码。PageAbility相关能力通过单独的featureAbility实现, 生命周期相关回调则通过app.js/app.ets中各个回调函数实现。

2、PageAbility组件配置

PageAbility的相关配置在config.json配置文件的"module"对象的"abilities"对象中,"icon"属性表示Ability图标资源文件的索引, "label"属性表示Ability对用户显示的名称,"skills"属性表示Ability能够接收的want的特征。

表1 PageAbility部分配置项说明

属性名称 含义 数据类型 是否可缺省
icon 表示Ability图标资源文件的索引。取值示例:$media:ability_icon。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含"entity.system.home",则该Ability的icon将同时作为应用的icon。如果存在多个符合条件的Ability,则取位置靠前的Ability的icon作为应用的icon。 字符串 可缺省,缺省值为空。
label 表示Ability对用户显示的名称。取值可以是Ability名称,也可以是对该名称的资源索引,以支持多语言。如果在该Ability的skills属性中,actions的取值包含 “action.system.home”,entities取值中包含"entity.system.home",则该Ability的label将同时作为应用的label。如果存在多个符合条件的Ability,则取位置靠前的Ability的label作为应用的label。 字符串 可缺省,缺省值为空。
skills 表示Ability能够接收的want的特征。 对象数组 可缺省,缺省值为空。

3、PageAbility的生命周期

PageAbility生命周期是PageAbility被调度到INACTIVE、ACTIVE、BACKGROUND等各个状态的统称。PageAbility生命周期流转及状态说明见如下表1所示。

表1 PageAbility生命周期状态说明

生命周期状态 生命周期状态说明
UNINITIALIZED 未初始状态,为临时状态,PageAbility被创建后会由UNINITIALIZED状态进入INITIAL状态。
INITIAL 初始化状态,也表示停止状态,表示当前PageAbility未运行,PageAbility被启动后由INITIAL态进入INACTIVE状态。
INACTIVE 失去焦点状态,表示当前窗口已显示但是无焦点状态。
ACTIVE 前台激活状态,表示当前窗口已显示,并获取焦点。
BACKGROUND 后台状态,表示当前PageAbility退到后台,PageAbility在被销毁后由BACKGROUND状态进入INITIAL状态,或者重新被激活后由BACKGROUND状态进入ACTIVE状态。

应用开发者可以在app.js/app.ets中重写生命周期相关回调函数,PageAbility生命周期相关回调函数见下表。

表2 PageAbility生命周期回调接口说明

接口名 接口描述
onCreate() Ability第一次启动创建Ability时调用onCreate方法,开发者可以在该方法里做一些应用初始化工作。
onDestroy() 应用退出,销毁Ability对象前调用onDestroy方法,开发者可以在该方法里做一些回收资源、清空缓存等应用退出前的准备工作。
onActive() Ability切换到前台,并且已经获取焦点时调用onActive方法。
onInactive() Ability失去焦点时调用onInactive方法,Ability在进入后台状态时会先失去焦点,再进入后台。
onShow() Ability由后台不可见状态切换到前台可见状态调用onShow方法,此时用户在屏幕可以看到该Ability。
onHide() Ability由前台切换到后台不可见状态时调用onHide方法,此时用户在屏幕看不到该Ability。

PageAbility生命周期回调与生命周期状态的关系如下图所示。

图2 PageAbility生命周期回调与生命周期状态的关系


更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第55天,PageAbility的生命周期的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS中,PageAbility是应用的基本组件之一,负责管理页面的生命周期。PageAbility的生命周期包括以下几个主要阶段:

  1. onStart():当PageAbility启动时调用,用于初始化页面和资源。
  2. onActive():当PageAbility从后台进入前台时调用,表示页面处于活动状态。
  3. onInactive():当PageAbility从前台进入后台时调用,表示页面不再处于活动状态。
  4. onBackground():当PageAbility进入后台时调用,可以在此释放部分资源。
  5. onForeground():当PageAbility从后台返回前台时调用,用于恢复页面状态。
  6. onStop():当PageAbility停止时调用,用于释放所有资源。

这些生命周期方法允许开发者在不同阶段执行相应的操作,确保页面的正确加载、显示和资源管理。

更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第55天,PageAbility的生命周期的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS的ArkTS语言中,PageAbility的生命周期包括以下几个关键阶段:

  1. onCreate():当PageAbility被创建时调用,用于初始化资源和设置。
  2. onStart():当PageAbility即将进入前台时调用,准备显示界面。
  3. onActive():当PageAbility获得焦点并开始与用户交互时调用。
  4. onInactive():当PageAbility失去焦点但仍可见时调用。
  5. onBackground():当PageAbility进入后台时调用,释放不必要的资源。
  6. onStop():当PageAbility不再可见时调用,进行清理工作。
  7. onDestroy():当PageAbility被销毁时调用,释放所有资源。

理解这些生命周期方法有助于更好地管理PageAbility的状态和资源。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!