鸿蒙应用开发中的Stage模型详解
创作时间:
作者:
@小白创作中心
鸿蒙应用开发中的Stage模型详解
引用
CSDN
1.
https://blog.csdn.net/m0_68038853/article/details/139397558
在鸿蒙系统应用开发中,Stage模型是HarmonyOS 3.1版本推出的新应用模型,它通过共享ArkTS引擎实例,优化了应用组件之间的资源共享和内存占用。本文将详细介绍Stage模型的核心概念及其与FA模型的区别,帮助开发者更好地理解并应用Stage模型进行分布式场景下的复杂应用开发。
Stage模型与FA模型的区别
在应用程序开发时通常需要使用应用模型来提供必备的组件和运行机制,有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。接下来谈谈鸿蒙应用开发当中的两种模型:
- Stage模型:HarmonyOS 3.1推出(API9),是目前主推且会长期演进的模型。
- FA模型:FA(Feature Ability)模型:HarmonyOS早期版本开始支持的模型,已经不再主推。
两者最大的区别在于:
- Stage模型中,多个应用组件共享同一个ArkTS引擎实例;
- 而FA模型中,每个应用组件独享一个ArkTS引擎实例。
- 因此在Stage模型中,应用组件之间可以方便地共享对象和状态,同时减少复杂应用运行对内存的占用。
- Stage模型作为主推的应用模型,开发者通过它能够更加便利地开发出分布式场景下的复杂应用。
Stage模型的核心概念
由于在之后的鸿蒙开发版本中将不推荐使用FA模型,并且官方也明确了以后都长期主推Stage模型,所以这里详细介绍一下Stage模型具体拆分成哪些概念来理解:
Stage模型是鸿蒙OS为了适应多设备和分布式场景而设计的一种新的应用模型。在Stage模型中,应用程序被组织成一系列的舞台(Stages),每个舞台代表一个应用的一个界面或一个功能模块。Stage模型重新定义了应用能力的边界,提供了对多设备和多窗口形态的支持,使得应用组件可以使用同一套生命周期,便于系统对应用组件进行管理和优化。
在Stage模型中,我们有两种主要的组件:
- UIAbility:就像一个带有用户界面的应用块,可以直接和用户进行互动,比如展示图片、处理用户的选择操作等。它的生命周期主要是创建、销毁、在前台运行和转到后台这些状态。而和显示相关的状态,比如窗口的显示和隐藏,是通过WindowStage的事件来通知开发者的。
- ExtensionAbility:是针对特定用途的组件,比如做卡片、输入法或者后台任务。开发者并不是直接去创建ExtensionAbility,而是使用它的特定子类。这些子类是针对特定场景设计的,比如你想在桌面上放一个应用卡片,就要用FormExtensionAbility,然后实现必要的函数。这些组件的生命周期是由系统管理的,你只需要实现相关的逻辑。
此外,Stage模型还包括以下几个重要概念:
- WindowStage:是管理UIAbility窗口的东西,每个UIAbility都有一个WindowStage,就像是应用内的窗口管理器。它有一个主窗口,这个窗口就是ArkUI用来绘制的区域。
- Context:是一个运行时可以用来访问资源和能力的东东。不同的组件有不同的Context,它们都继承自同一个基类,但是根据组件的不同,会有不同的能力。
- AbilityStage:是给HAP用的,每个HAP在运行时都会有一个AbilityStage实例。当你第一次加载HAP的代码到进程中时,系统会先创建一个AbilityStage实例。
简而言之:
- UIAbility是一种包含UI的应用组件,主要用于和用户交互。
- ExtensionAbility是针对特定用途的组件,开发者用它的子类实现特定功能。
- WindowStage是管理UIAbility窗口的。
- Context是应用上下文,是运行时访问资源和能力的。
- AbilityStage是组件容器,是HAP运行时的一个实例。
热门推荐
详解贴片三极管的倒置状态
机器学习分类结果精度测定 - 混淆矩阵(Confusion Matrix)
你真的懂面包吗?一场关于健康的“面包觉醒”
股东会与股东大会:概念与区别
哈尔滨:前7月新登记企业3.26万户 企业开办跑出“加速度”
《了凡四训》:一个人格局变大,从三个放下开始
如何利用绩效考核管理系统提升团队效率?
JS水泥基如何清理
离任审计如何审项目经理
无烟煤和烟煤的区别:煤化程度与燃烧特性的对比
超全的中国煤炭分级表
肝癌警告信号
一文详解电池管理芯片:原理、功能与应用领域
最常见的2种睡眠障碍怎么破?国家支招了→
国内适合旅居小住的8座县城,清静、安逸、慢生活,选一个出发吧
自驾游如何避开旅游高峰期
劳动合同续约是什么
电容串联与并联以及电容串联与平衡电阻
如何一分钟判断怀孕
“吃了春分菜,一年都发财”,这5种春分时节的应季美食,既传统又养生
学会批判性思维五步流程,让你的决策准确率飙升999%
警惕“笑气”:看似无害的危险诱惑
三问“中国AI生成物可版权性第二案”
急性痛风大量喝水有用吗
疫苗冲冲冲!病毒退退退!这份“疫苗接种手册”请查收
银行卡的二类账户有什么限制?
楼梯角落精心设计,小户型也能展现独特格调与魅力
毕业设计任务与要求怎么写
黑盒测试方法:如何通过功能测试和用户体验测试提升软件质量?
绿电+储能 看国能如何打入重庆新能源“高端局”