版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UIAbility组件UIAbiltiy组件概述UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。
(1)UIAbility组件的设计理念UIAbility组件的设计注重跨端迁移、多设备支持及良好的用户体验,是HarmonyOS应用不可或缺的重要组成部分。①
原生支持应用组件级的跨端迁移和多端协同。②
支持多设备和多窗口形态。
(2)UIAbility组件的划分原则与建议UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility实例。每一个UIAbility实例都会在最近任务列表中显示一个对应的任务。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件概述
对于开发者而言,可以根据具体场景选择单个或多个UIAbility组件。①
如果开发者希望在任务视图中看到一个任务,则建议使用一个UIAbility组件、多个页面的方式。②
如果开发者希望在任务视图中看到多个任务,或者需要同时开启多个窗口,则建议使用多个UIAbility组件实现不同的模块功能。2.声明配置
为使应用能够正常使用UIAbility组件,需要在module.json5配置文件的abilities标签中声明UIAbility组件的名称、入口、标签等相关信息。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期UIAbility组件有完整的生命周期管理,包括创建(Create)、前台(Foreground)、后台(Background)和销毁(Destroy)等状态,方便开发者进行状态管理和资源释放,如图所示。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期1.UIAbility组件生命周期概述
当用户打开、切换或返回对应应用时,应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调函数,通过这些回调函数可以知道当前UIAbility实例的状态发生了改变。例如,UIAbility实例经过创建和销毁,或者前后台转换后,其状态发生了变化。2.生命周期状态说明UIAbility组件的生命周期管理对于应用的性能和用户体验至关重要。我们应合理利用生命周期回调函数,进行资源管理和状态切换,以提供流畅、稳定的应用体验。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期
(1)Create状态Create状态在应用加载过程中,UIAbility实例创建完成时触发,此时系统会调用onCreate()回调函数。开发者可以在该回调函数中进行页面初始化操作,如变量定义、资源加载等,用于后续的UI展示。
(2)WindowStageCreate状态和WindowStageDestroy状态UIAbility实例创建完成之后,在进入Foreground状态之前,系统会创建一个WindowStage。WindowStage创建完成后会调用onWindowStageCreate()回调函数,开发者可以在该回调函数中设置UI加载及WindowStage的事件订阅。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期
(3)WindowStageCreate状态的回调函数
在onWindowStageCreate()回调函数中通过loadContent()方法设置应用要加载的页面,并根据需要调用on('windowStageEvent')方法订阅WindowStage的事件(获焦/失焦、可见/不可见)。
(4)WindowStageWillDestroy状态WindowStageWillDestroy状态对应的onWindowStageWillDestroy()回调函数,在WindowStage销毁前执行,此时WindowStage可以使用。
(5)Foreground状态和Background状态Foreground状态和Background状态分别在UIAbility实例切换至前台和切换至后台时触发,对应onForeground()回调函数和onBackground()回调函数。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期
(6)Destroy状态Destroy状态在UIAbility实例销毁时触发。可以在onDestroy()回调函数中进行系统资源的释放、数据的保存等操作。例如,调用terminateSelf()方法停止当前UIAbility实例,系统会触发onDestroy()回调函数,从而完成UIAbility实例的销毁;或者用户使用最近任务列表关闭该UIAbility实例,完成UIAbility实例的销毁。
(7)其他页面状态说明Show:页面展示状态。Active:页面启动状态。InActive:页面完成启动状态。Hidden:页面隐藏状态。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的启动模式UIAbility组件的启动模式是指UIAbility实例在启动时的不同呈现状态。针对不同的业务场景,系统提供了以下3种启动模式。
(1)singleton启动模式singleton启动模式为单实例模式,也是默认情况下的启动模式。
开发者每次调用startAbility()方法时,如果应用进程中该类型的UIAbility实例已经存在,则复用系统中的UIAbility实例。系统中只存在唯一一个UIAbility实例,即在最近任务列表中只存在一个该类型的UIAbility实例。
如果需要使用singleton启动模式,将module.json5配置文件中的launchType字段配置为singleton即可。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的启动模式
(2)multiton启动模式multiton启动模式为多实例模式,每次调用startAbility()方法时,都会在应用进程中创建一个新的该类型UIAbility实例。即在最近任务列表中可以看到有多个该类型的UIAbility实例。在这种情况下,可以将UIAbility配置为multiton(多实例模式)。
如果要使用multiton启动模式,将module.json5配置文件中的launchType字段配置为multiton即可。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的启动模式
(3)specified启动模式specified启动模式为指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 循证康复实践中的康复-评价创新
- 循证康复实践中的医患沟通策略
- 基于PPP模式的2025年城市轨道交通项目融资与智慧运营可行性报告
- 2026年物流科技无人机配送网络报告及未来五至十年运输效率报告
- 2026年家具行业智能升降桌创新报告
- 《现代农业养殖场环境监测与调控系统的设计与实现》教学研究课题报告
- 区域人工智能教育师资队伍能力提升与协同发展研究教学研究课题报告
- 应激性心肌病血管活性药物应用方案
- 底框砖混老建筑拆除施工方案
- 川崎病血管内皮功能评估随访方案
- 石油钻井井电方案
- 得每通产品培训2015品牌版
- 青海省循化县谢坑铜金矿(二、四釆区)矿山地质环境保护与土地复垦方案
- Cpk 计算标准模板
- FANUC O加工中心编程说明书
- 滕王阁序注音全文打印版
- GB/T 6451-2015油浸式电力变压器技术参数和要求
- GB/T 29316-2012电动汽车充换电设施电能质量技术要求
- 2023高中学业水平合格性考试历史重点知识点归纳总结(复习必背)
- Unit4 写作课 A Funny Story教案-高中英语北师大版(2019)选择性必修第二册
- 果树学实验-主要果实类型与构造认识解答课件
评论
0/150
提交评论