鸿蒙开发语言ArkTS--Ability中的生命周期

鸿蒙开发语言ArkTS–Ability中的生命周期

在ArkTS语言中,这是一个在ArkTS中定义Ability生命周期的示例。

Ability的生命周期:

  1. onCreate(want, launchParam):在UI创建后执行的函数。在这个阶段,您可以执行初始化操作,设置初始状态,并且可以注册监听器等。

  2. onDestroy():在UI销毁后执行的函数。在这个阶段,您可以执行一些清理操作,释放资源等。

  3. onWindowStageCreate(windowStage: window.WindowStage):在主窗口创建后执行的函数。在这个阶段,您可以设置主页面,并且可以进行一些UI相关的操作。

  4. onWindowStageDestroy():在主窗口销毁后执行的函数。在这个阶段,您可以释放与UI相关的资源。

  5. onForeground():在Ability进入前台后执行的函数。在这个阶段,您可以执行一些与前台显示相关的操作。

  6. onBackground():在Ability切换到后台后执行的函数。在这个阶段,您可以执行一些与后台运行相关的操作。

总的来说,这些函数定义了Ability的整个生命周期,从创建到销毁,以及前台和后台运行时的状态变化。我们开发人员可以在这些函数中编写相应的逻辑,以实现对应生命周期阶段的操作。

整体EntryAbility.ets的代码如下:

/*** Ability的生命周期*/
export default class EntryAbility extends UIAbility {/*** UI创建后执行* @param want* @param launchParam*/onCreate(want, launchParam) {hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');}/*** UI销毁后执行*/onDestroy() {hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy');}/*** 主窗口创建执行* @param windowStage*/onWindowStageCreate(windowStage: window.WindowStage) {// Main window is created, set main page for this abilityhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');const userSetting = new UserSettingClass(this.context)//正常情况,需要在这里获取用户广告设置,然后根据设置,决定是否需要启动设置广告页面(假如需要弄的话)windowStage.loadContent('pages/Index', (err, data) => {if (err.code) {hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)?? '');return;}hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');});}onWindowStageDestroy() {// Main window is destroyed, release UI related resourceshilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy');}/*** Ability进入前台之后执行*/onForeground() {// Ability has brought to foregroundhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground');}/*** Ability切换后台台之后执行*/onBackground() {// Ability has back to backgroundhilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground');}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/634084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7.C++ this指针

每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码。 那么这一块代码是如何区分那个对象调用自己的呢?C通过提供特殊的对象指针,this指针,解决上述问题。 this指针指向被调用的成员函数所属的对象…

用 Python 制作可视化 GUI 界面,一键实现自动分类管理文件!

经常杂乱无章的文件夹会让我们找不到所想要的文件,因此小编特意制作了一个可视化GUI界面,通过输入路径一键点击实现文件分门别类的归档。 不同的文件后缀归类为不同的类别 我们先罗列一下大致有几类文件,根据文件的后缀来设定,大…

GaussDB与openGauss有什么相同和不同?

众所周知,GaussDB是华为自主创新研发的分布式关系型数据库,为企业提供功能全面、稳定可靠、扩展性强、性能优越的企业级数据库服务,openGauss是开源数据库,两者之间又是什么样的关系,有什么相同和不同,让我…

如何使用Portainer部署web站点并实现无公网ip远程访问

文章目录 前言1. 安装Portainer1.1 访问Portainer Web界面 2. 使用Portainer创建Nginx容器3. 将Web静态站点实现公网访问4. 配置Web站点公网访问地址4.1公网访问Web站点 5. 固定Web静态站点公网地址6. 固定公网地址访问Web静态站点 前言 Portainer是一个开源的Docker轻量级可视…

kafka消费者

Kafka消费者从属于消费者组,一个组里的消费者订阅的是同一个topic,每个消费者接收topic一部分分区的消息可以为每一个需要获取一个或多个topic全部消息的应用程序创建一个消费者组,每个消费者可以消费若干个分区,往阻力添加消费者…

k8s的PV,PVC自动创建

此部署使用传统的pv,pvc方式做持久化数据存储,而是使用storageclass调用provisioner,自动给pod创建的pvc分配pv并绑定,从而达到持久化存储的效果。可根据自己需求创建相关的pv,pvc。 安装NFS服务 NFS Server IP&…

【spark】SparkSQL

目录 SparkSQL01.快速入门什么是SparkSQL为什么学习SparkSQLSparkSQL的特点SparkSQL发展历史-前身Shark框架SparkSQL发展历史 02.SparkSQL概述SparkSQL和Hive的异同SparkSQL的数据抽象DataFrame概述SparkSession对象 03.DataFrame入门和操作DataFrame的组成DataFrame的代码构建…

NativePHP:开发跨平台原生应用的强大工具

NativePHP 是一种创新性的技术,可以帮助开发者使用 PHP 语言构建原生应用程序。本文将介绍 NativePHP 的概念和优势,探讨其在跨平台应用开发中的应用,并提供一些使用 NativePHP 开发原生应用的最佳实践。 什么是 NativePHP? Nati…

SpringBoot 实现 PDF 添加水印有哪些方案

SpringBoot 实现 PDF 添加水印有哪些方案 方式一:使用 Apache PDFBox 库方式二:使用 iText 库方式三:用 Ghostscript 命令行方式四:Free Spire.PDF for Java方式五:Aspose.PDF for Java 简介 PDF(Portable …

小程序显示兼容处理,home键处理

定义: env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量,用于获取设备底部和顶部安全区域的大小 示例: padding-bottom: calc(env(safe-area-inset-bottom) 12px); /* 兼容iOS> 11.2 */安全间距类型: …

【消息队列】RocketMQ 并发消费和顺序消费

在 RocketMQ 中,消息的消费模式包括并发消费和顺序消费,它们分别适用于不同的业务场景。下面是对这两种消费模式的介绍: 1. 并发消费: 特点: 并发消费是指多个消费者实例同时处理消息,每个实例独立地处理一…

js实现iframe内容加载失败自动重新加载功能

最近一个项目上的程序经常出现掉线的情况,经排查是该单位的网络不稳定,存在网络丢包现象。导致有时候程序运行加载页面失败,开机自启动应用时出现请求失败的概率非常大,为了解决这个问题我在网上东找西找也没有找到有效的解决办法…

【现代控制系统】最小实现与互质分式

最小实现和互质分式 2023年12月12日 文章目录 最小实现和互质分式1. 实现问题2. SISO严格正则系统的实现2.1 能控标准1型实现2.2 能观标准2型实现2.3 能观标准1型实现2.4 能控标准2型实现2.5 最小实现2.6 完全表征 3. 计算互质分式3.1 使用西尔韦斯特结式 4. SISO基于Markov参…

丰果管道——2024中国家装管道十大品牌

丰果管道——2024中国家装管道十大品牌 丰果(中国)有限公司 丰果管道品牌创立于1999年,是国内最早从事PPR家装管道生产的品牌之一,在业内有着良好的口碑和市场美誉度,在全国的头部装企更是有相当高的市场占有率。2023年…

猫咪发腮长肉吃什么?5款适合猫咪发腮长肉的猫罐头推荐

随着冬季的来临,北方的小猫咪们因为有暖气,日子还算好过。然而南方的猫咪们只能依靠自己的抵抗力来度过这个寒冷的季节。为了确保这些怕冷的小家伙能温暖地度过冬天,铲屎官们是不是该考虑为它们囤积一些肉肉呢? 有些猫咪&#xf…

Go-gin-example 个人注释添加学习版 第三部分 编写一个简单的文件日志

文章目录 本文目标新建logging包file.go编写log文件当前目录结构 接入自定义的log功能验证功能 _ 学习煎鱼大佬的该项目 煎鱼大佬网站 原github地址 个人github项目地址,希望得到一点star 本文目标 在上一节中,我们解决了 API’s 可以任意访问的问题&a…

无货源跨境电商到底应该怎么做,新手必看

如今,跨境电商无疑已经成为了一个热门的创业领域,但对于一些新手来说,面临的一个主要挑战是如何处理产品的货源问题。下面我就和大家分享一下无货源跨境电商的基本概念以及一些新手可以采取的策略和步骤,帮助大家在这个领域取得成…

C#MQTT编程08--MQTT服务器和客户端(cmd版)

1、前言 前面完成了winform版,wpf版,为什么要搞个cmd版,因为前面介绍了mqtt的报文结构,重点分析了【连接报文】,【订阅报文】,【发布报文】,这节就要就看看实际报文是怎么组装的,这…

Flink编程——风险欺诈检测

Flink 风险欺诈检测 文章目录 Flink 风险欺诈检测背景准备条件FraudDetectionJob.javaFraudDetector.java 代码分析执行环境创建数据源对事件分区 & 欺诈检测输出结果运行作业欺诈检测器 欺诈检测器 v1:状态欺诈检测器 v2:状态 时间完整的程序期望的…

3C市场发展态势疲软?直播电商带来新机遇

“ 能否迎来新生 ” 文|王娴 编辑 | 靳淇 出品|极新 目前直播电商成为家电3C行业不可替代的经营阵地,电商生态的重构为关注沟通渠道与销售通路的家电3C行业带来更多选择。内容场与货架场贯通的独特优势,正吸引商家加速入场全域兴趣电商。…