网站首页优化的目的wordpress旧文章更新
news/
2025/9/24 7:24:56/
文章来源:
网站首页优化的目的,wordpress旧文章更新,虚拟主机如何做网站,郑州网站开发hndlwx概述
当用户打开、切换和返回到对应应用时#xff0c;应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调#xff0c;通过这些回调可以知道当前UIAbility实例的某个状态发生改变#xff0c;会经过UIAbility实例的创建和销毁#xff0c;…概述
当用户打开、切换和返回到对应应用时应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调通过这些回调可以知道当前UIAbility实例的某个状态发生改变会经过UIAbility实例的创建和销毁或者UIAbility实例发生了前后台的状态切换。
UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态如下图所示。
图1 UIAbility生命周期状态 生命周期状态说明
Create状态
Create状态为在应用加载过程中UIAbility实例创建完成时触发系统会调用onCreate()回调。可以在该回调中进行页面初始化操作例如变量定义资源加载等用于后续的UI展示。
import type AbilityConstant from ohos.app.ability.AbilityConstant;
import UIAbility from ohos.app.ability.UIAbility;
import type Want from ohos.app.ability.Want;export default class EntryAbility extends UIAbility {onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {// 页面初始化}// ...
}说明 Want是对象间信息传递的载体可以用于应用组件间的信息传递。 WindowStageCreate和WindowStageDestroy状态
UIAbility实例创建完成之后在进入Foreground之前系统会创建一个WindowStage。WindowStage创建完成后会进入onWindowStageCreate()回调可以在该回调中设置UI加载、设置WindowStage的事件订阅。
图2 WindowStageCreate和WindowStageDestroy状态 在onWindowStageCreate()回调中通过 loadContent() 方法设置应用要加载的页面并根据需要调用on(windowStageEvent)方法订阅WindowStage的 事件获焦/失焦、可见/不可见。
import Logger from ../utils/Logger;
import UIAbility from ohos.app.ability.UIAbility;
import window from ohos.window;export default class EntryAbility extends UIAbility {// ...onWindowStageCreate(windowStage: window.WindowStage): void {// 设置WindowStage的事件订阅获焦/失焦、可见/不可见try {windowStage.on(windowStageEvent, (data) {let stageEventType: window.WindowStageEventType data;switch (stageEventType) {case window.WindowStageEventType.SHOWN: // 切到前台Logger.info(windowStage foreground.);break;case window.WindowStageEventType.ACTIVE: // 获焦状态Logger.info(windowStage active.);break;case window.WindowStageEventType.INACTIVE: // 失焦状态Logger.info(windowStage inactive.);break;case window.WindowStageEventType.HIDDEN: // 切到后台Logger.info(windowStage background.);break;default:break;}});} catch (exception) {Logger.error(Failed to enable the listener for window stage event changes. Cause: JSON.stringify(exception));}// 设置UI加载windowStage.loadContent(pages/Index, (err, data) {// ...});}
}对应于onWindowStageCreate()回调。在UIAbility实例销毁之前则会先进入onWindowStageDestroy()回调可以在该回调中释放UI资源。
import Logger from ../utils/Logger;
import UIAbility from ohos.app.ability.UIAbility;
import window from ohos.window;
import type { BusinessError } from ohos.base;export default class EntryAbility extends UIAbility {windowStage: window.WindowStage | undefined undefined;// ...onWindowStageCreate(windowStage: window.WindowStage): void {this.windowStage windowStage;// ...}onWindowStageDestroy() {// 释放UI资源}
}Foreground和Background状态
Foreground和Background状态分别在UIAbility实例切换至前台和切换至后台时触发对应于onForeground()回调和onBackground()回调。
onForeground()回调在UIAbility的UI可见之前如UIAbility切换至前台时触发。可以在onForeground()回调中申请系统需要的资源或者重新申请在onBackground()中释放的资源。
onBackground()回调在UIAbility的UI完全不可见之后如UIAbility切换至后台时候触发。可以在onBackground()回调中释放UI不可见时无用的资源或者在此回调中执行较为耗时的操作例如状态保存等。
例如应用在使用过程中需要使用用户定位时假设应用已获得用户的定位权限授权。在UI显示之前可以在onForeground()回调中开启定位功能从而获取到当前的位置信息。
当应用切换到后台状态可以在onBackground()回调中停止定位功能以节省系统的资源消耗。
import UIAbility from ohos.app.ability.UIAbility;export default class EntryAbility extends UIAbility {// ...onForeground(): void {// 申请系统需要的资源或者重新申请在onBackground()中释放的资源}onBackground(): void {// 释放UI不可见时无用的资源或者在此回调中执行较为耗时的操作// 例如状态保存等}
}Destroy状态
Destroy状态在UIAbility实例销毁时触发。可以在onDestroy()回调中进行系统资源的释放、数据的保存等操作。
例如调用terminateSelf()方法停止当前UIAbility实例从而完成UIAbility实例的销毁或者用户使用最近任务列表关闭该UIAbility实例完成UIAbility的销毁。
import UIAbility from ohos.app.ability.UIAbility;export default class EntryAbility extends UIAbility {// ...onDestroy() {// 系统资源的释放、数据的保存等}
}为了能让大家更好的学习鸿蒙HarmonyOS NEXT开发技术这边特意整理了《鸿蒙开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05
《鸿蒙开发学习手册》
如何快速入门https://qr21.cn/FV7h05
基本概念构建第一个ArkTS应用…… 开发基础知识https://qr21.cn/FV7h05
应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05
Ability开发UI开发公共事件与通知窗口管理媒体安全网络与链接电话服务数据管理后台任务(Background Task)管理设备管理设备使用信息统计DFX国际化开发折叠屏系列…… 鸿蒙开发面试真题含参考答案https://qr18.cn/F781PH 鸿蒙开发面试大盘集篇共计319页https://qr18.cn/F781PH
1.项目开发必备面试题 2.性能优化方向 3.架构方向 4.鸿蒙开发系统底层方向 5.鸿蒙音视频开发方向 6.鸿蒙车载开发方向 7.鸿蒙南向开发方向
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915195.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!