鸿蒙-UIAbility组件生命周期

embedded/2025/1/17 12:59:50/

在这里插入图片描述

import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit';export default class EntryAbility extends UIAbility {onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {// 页面初始化}// ...
}

在这里插入图片描述

import { UIAbility } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { hilog } from '@kit.PerformanceAnalysisKit';const TAG: string = '[EntryAbility]';
const DOMAIN_NUMBER: number = 0xFF00;export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {// 页面初始化}// ...onWindowStageCreate(windowStage: window.WindowStage): void {// 设置WindowStage的事件订阅(获焦/失焦、切到前台/切到后台、前台可交互/前台不可交互)try {windowStage.on('windowStageEvent', (data) => {let stageEventType: window.WindowStageEventType = data;switch (stageEventType) {case window.WindowStageEventType.SHOWN: // 切到前台hilog.info(DOMAIN_NUMBER, TAG, `windowStage foreground.`);break;case window.WindowStageEventType.ACTIVE: // 获焦状态hilog.info(DOMAIN_NUMBER, TAG, `windowStage active.`);break;case window.WindowStageEventType.INACTIVE: // 失焦状态hilog.info(DOMAIN_NUMBER, TAG, `windowStage inactive.`);break;case window.WindowStageEventType.HIDDEN: // 切到后台hilog.info(DOMAIN_NUMBER, TAG, `windowStage background.`);break;case window.WindowStageEventType.RESUMED: // 前台可交互状态hilog.info(DOMAIN_NUMBER, TAG, `windowStage resumed.`);break;case window.WindowStageEventType.PAUSED: // 前台不可交互状态hilog.info(DOMAIN_NUMBER, TAG, `windowStage paused.`);break;default:break;}});} catch (exception) {hilog.error(DOMAIN_NUMBER, TAG,`Failed to enable the listener for window stage event changes. Cause: ${JSON.stringify(exception)}`);}hilog.info(DOMAIN_NUMBER, TAG, `%{public}s`, `Ability onWindowStageCreate`);// 设置UI加载windowStage.loadContent('pages/Index', (err, data) => {// ...});}onForeground(): void {// 申请系统需要的资源,或者重新申请在onBackground()中释放的资源}onBackground(): void {// 释放UI不可见时无用的资源,或者在此回调中执行较为耗时的操作// 例如状态保存等}
onWindowStageWillDestroy(windowStage: window.WindowStage) {// 释放通过windowStage对象获取的资源// 在onWindowStageWillDestroy()中注销WindowStage事件订阅(获焦/失焦、切到前台/切到后台、前台可交互/前台不可交互)try {if (this.windowStage) {this.windowStage.off('windowStageEvent');}} catch (err) {let code = (err as BusinessError).code;let message = (err as BusinessError).message;hilog.error(DOMAIN_NUMBER, TAG, `Failed to disable the listener for windowStageEvent. Code is ${code}, message is ${message}`);}}onWindowStageDestroy() {// 释放UI资源}onDestroy() {// 系统资源的释放、数据的保存等}
}

http://www.ppmy.cn/embedded/154661.html

相关文章

标准通上线标准「全文检索」功能,提升查询精准度!

前言 标准全文检索:在大量文档或数据库中查找与特定标准相关的全文内容。这种检索方式对于获取详细、精确的信息非常有用,尤其是在需要查找特定标准、规范或法规的详细条款时。 如何在大量的标准中准确、快速地获取所需的标准信息,同时还能…

PostMan测试webSocket接口(保姆级教程)

前言 小编我将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注一下! 也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远!让我们在成长的道路上互相学习&…

C 语言中二维数组的退化

目录 1. 一维数组的退化 2.字符串数组的退化 3. 二维数组的退化 3.1 为什么退化为 int (*)[4] 而不是 int **? 3.2举例说明 3.3 .总结 在 C 语言中,数组名在大多数情况下会退化为指向其第一个元素的指针,这种机制称为数组退化&#xf…

NLP DAY1: 文本数据读取

实验介绍 在自然语言处理的第一步,我们要面对的是各种各样以不同形式表现的文本数据,比如,有的是纯 txt 文档,有的是存储在 Excel 中的表格数据,还有的是无法直接打开的 pkl 文件等。刚开始接触编程的同学在这里就犯难…

【springboot】读取本地nacos配置

目录 1. 说明2. 截图示例3. 代码示例4. 关键代码 1. 说明 1.springboot读取服务器上nacos配置会在客户端本地缓存配置。2.在没有服务器nacos配置的情况下,可以在本地新建一个目录,里面放入配置文件,也可以读到配置。3.注意不同版本的nacos配…

路由环路的产生原因与解决方法(1)

路由环路 路由环路就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。 TTL (生存时间):数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0是,路…

【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据...本篇介绍为什么self-attention可以堆叠多层,这有什么作用?

【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍为什么self-attention可以堆叠多层,这有什么作用? 【大厂面试AI算法题中的知识点】方向涉及:ML/DL/CV/NLP/大数据…本篇介绍为什么self-attention可以堆叠…

RocketMQ 学习笔记01

一、MQ简介 1. 什么是MQ? MQ(Message Queue,消息队列) 是一种在分布式系统中用于实现进程间通信和数据传输的中间件。它通过在不同进程或应用程序之间传递消息,实现数据的异步处理、解耦和削峰填谷等功能。MQ广泛应用…