【鸿蒙学习笔记】Stage模型
官方文档:Stage模型开发概述
目录标题
- Stage模型好处
- Stage模型概念图
- Context
- AbilityStage
- UIAbility组件和ExtensionAbility组件
- WindowStage
- Stage模型-组件模型
- Stage模型-进程模型
- Stage模型-ArkTS线程模型和任务模型
- 关于任务模型,我们先来了解一下什么是任务?
- Stage模型-后台运行机制
- Stage模型-应用配置文件
- app.json5
- module.json5
Stage模型好处
只需要知道由于Stage模型的设计能够方便地共享对象和状态,并且能够减少内存占用就行了。
Stage模型概念图
Context
- 上下文。
AbilityStage
- AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。
- AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。
- AbilityStage拥有onCreate()生命周期回调和onAcceptWant()、onConfigurationUpdated()、onMemoryLevel()事件回调。
UIAbility组件和ExtensionAbility组件
- UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。
- ExtensionAbility组件是一种面向特定场景的应用组件。开发者并不直接从ExtensionAbility组件派生,而是需要使用ExtensionAbility组件的派生类。
WindowStage
每个UIAbility实例都会与一个WindowStage类实例绑定,该类起到了应用进程内窗口管理器的作用。它包含一个主窗口。该主窗口为ArkUI提供了绘制区域。
Stage模型-组件模型
Stage模型-进程模型
Stage模型-ArkTS线程模型和任务模型
-
应用进程启动时,系统会在主线程上创建一个ArkTS的虚拟机实例,并加载执行应用的入口代码。
-
主线程负责处理应用组件的生命周期回调、输入事件的分发以及ArkUI的布局等操作。
开发者应避免在主线程上执行单次耗时过长的操作,以防止引发卡顿现象。
-
ArkTS通过提供Worker API支持并发编程。
Worker线程拥有独立的虚拟机上下文,与主线程是两个不同的虚拟机上下文。
Worker线程与主线程之间通过postMessage API进行通信,采用基于消息传递的并发模型,而非
基于锁的并发模型。
关于任务模型,我们先来了解一下什么是任务?
在HarmonyOS上,每次用户启动一个新的UIAbility组件实例,都会生成一个新的任务(Mission)。任务中记录了组件和快照的信息,并在系统中持久化。即使组件实例销毁,任务仍然存在。每个应用可以有多个任务在任务中心呈现,不同应用的任务不会以栈的形式堆叠在一起。
Stage模型-后台运行机制
Stage模型-应用配置文件
app.json5
module.json5
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




