HarmonyOS鸿蒙Next中ability和窗口的区别

比如我想开发一个类似于桌面端的微信,可能涉及到多个窗口,比如登录窗口、主窗口(聊天窗口)、图片查看器窗口、视频查看器窗口等,这是应该是创建多个uiAbility还是应该用window.createWindow去创建多个窗口呢?

5 回复

参考官方文档:Stage模型开发概述UIAbility组件概述管理应用窗口(Stage模型)

  • 在PC/2in1设备上开发类似于电脑版微信的应用,涉及到多个窗口,如登录窗口、聊天窗口、图片查看器窗口、视频查看器窗口、通话窗口等,需要在多任务里展示多个窗口,适合采用多个UIAbility。
  • 在PC/2in1设备上开发类似于NotePad的应用,涉及到搜索窗口,适合采用一个UIAbility+多个子窗口的方案,多任务里只显示一个主窗口,且主窗口和子窗口生命周期一致。

更多关于HarmonyOS鸿蒙Next中ability和窗口的区别的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


学习了

项目名称

  • 项目状态: 已完成
  • 项目周期: 2023.01 - 2023.06
  • 项目地点: 北京

项目描述

这是一个完整的软件开发项目,涵盖了需求分析、系统设计、编码实现和测试验证等各个环节。通过这个项目,团队成功地交付了一个高质量的软件产品,并得到了客户的高度评价。

你好,从问题描述来看ability应该是指的UIAbility,UIAbility和WindowStage的关系如上图;

你描述的场景也可以用createSubWindow创建子窗口去实现相应功能

在HarmonyOS鸿蒙Next中,Ability和窗口是两个不同的概念。Ability是应用的基本组成单元,代表应用的功能模块,分为Page Ability、Service Ability和Data Ability。窗口则是Ability的UI展示部分,负责用户界面的渲染和交互。一个Ability可以包含多个窗口,窗口通过Ability的生命周期进行管理。简单来说,Ability是功能逻辑的载体,而窗口是UI的展示容器。

回到顶部