首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

鸿蒙HarmonyOS实战-Stage模型(服务卡片介绍和运行机制)

  • 25-02-22 03:40
  • 2892
  • 6272
blog.csdn.net

 一、服务卡片介绍

1.服务卡片的概念

在HarmonyOS中,服务卡片是一种提供即时信息和快速操作的小组件,类似于Android中的通知栏。服务卡片可以显示各种类型的信息,包括通知、天气、日历事件、音乐播放器、快捷方式等。用户可以根据自己的需求配置服务卡片,并通过轻扫或点击来查看详细信息或执行操作。此外,服务卡片还支持互动操作,例如滑动、拖动和长按等,以实现更多功能。用户可以通过设置中的服务卡片管理来管理和定制自己的服务卡片。总的来说,服务卡片是HarmonyOS提供的一种方便快捷的信息展示和操作方式,用户可以根据自己的喜好和需求进行个性化设置和使用。

在这里插入图片描述

术语定义
卡片使用方显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。
应用图标应用入口图标,点击后可拉起应用进程,图标内容不支持交互。
卡片具备不同规格大小的界面展示,卡片的内容可以进行交互,如实现按钮进行界面的刷新、应用的跳转等。
卡片提供方包含卡片的应用,提供卡片的显示内容、控件布局以及控件点击处理逻辑。
FormExtensionAbility卡片业务逻辑模块,提供卡片创建、销毁、刷新等生命周期回调。
卡片页面卡片UI模块,包含页面控件、布局、事件等显示和交互信息。

卡片的使用步骤如下:
在这里插入图片描述

服务卡片开发语言支持下面两种:

类型开发方式简称
UI页面ArkTS语言ArkTS卡片
UI页面JS语言JS卡片

JS卡片功能回受到限制,建议使用ArkTS卡片

2.ArkTS卡片运行机制

?2.1 实现原理

方式内容
卡片使用方显示卡片内容的宿主应用,控制卡片在宿主中展示的位置,当前仅系统应用可以作为卡片使用方。
卡片提供方提供卡片显示内容的应用,控制卡片的显示内容、控件布局以及控件点击事件。
卡片管理服务用于管理系统中所添加卡片的常驻代理服务,提供formProvider接口能力,同时提供卡片对象的管理与使用以及卡片周期性刷新等能力。
卡片渲染服务用于管理卡片渲染实例,渲染实例与卡片使用方上的卡片组件一一绑定。卡片渲染服务运行卡片页面代码widgets.abc进行渲染,并将渲染后的数据发送至卡片使用方对应的卡片组件。

在这里插入图片描述
ArkTS卡片渲染服务运行原理如下:
在这里插入图片描述
与JS卡片相比,ArkTS卡片的特点如下:

  1. 支持在卡片中运行逻辑代码。
  2. 为确保ArkTS卡片发生问题后不影响卡片使用方应用的使用,新增了卡片渲染服务来运行卡片页面代码widgets.abc。
  3. 卡片渲染服务由卡片管理服务进行管理。
  4. 卡片使用方的每个卡片组件对应卡片渲染服务中的一个渲染实例。
  5. 同一应用提供方的渲染实例运行在同一个虚拟机运行环境中,不同应用提供方的渲染实例运行在不同的虚拟机运行环境中。
  6. 通过虚拟机运行环境隔离不同应用提供方卡片之间的资源与状态。
  7. 在开发过程中需要注意使用globalThis对象,相同应用提供方的卡片globalThis对象是同一个,不同应用提供方的卡片globalThis对象是不同的。

?2.2 ArkTS卡片的优势

优势详细描述
运行逻辑代码ArkTS卡片支持在卡片中运行逻辑代码,扩展了卡片的功能,使得卡片能够实现更多的交互和动态展示。
卡片渲染服务ArkTS卡片新增了卡片渲染服务,用于运行卡片页面代码widgets.abc,确保卡片渲染不影响应用的使用,提升用户体验。
渲染实例隔离每个卡片组件都对应了卡片渲染服务里的一个渲染实例,不同应用提供方的渲染实例运行在不同的虚拟机环境中,确保资源与状态的隔离。
globalThis对象隔离相同应用提供方的卡片globalThis对象是同一个,不同应用提供方的卡片globalThis对象是不同的,保证安全和隔离的同时提高灵活性。
轻量级ArkTS卡片具备轻量级的特性,占用系统资源少,并能在各种设备上高效运行,提供流畅的用户体验。
安全性ArkTS卡片与底层系统进行安全隔离,保护用户数据和系统不受恶意攻击,提供可靠的安全性能。
兼容性ArkTS卡片与HarmonyOS的其他组件和服务兼容,能够与其他模块无缝交互和通信,实现整体系统的协调运行。
性能优化ArkTS卡片优化程序性能,提高响应速度和系统整体性能,提供流畅的使用体验。
多设备适配ArkTS卡片能够适配不同的设备类型和屏幕尺寸,提供一致的用户界面和功能,满足用户在不同设备上的需求。
开发者友好性ArkTS卡片提供易于使用的开发工具和接口,方便开发人员创建和定制卡片,提供更多的选择和功能。

在这里插入图片描述

?2.3 ArkTS卡片的约束

约束描述
不支持加载soArkTS卡片不支持加载so文件,限制了其使用一些底层功能的能力。
不支持使用native语言开发ArkTS卡片仅支持使用ArkScript语言进行开发,不支持使用native语言。
仅支持声明式范式的部分组件、事件、动效、数据管理、状态管理和API能力ArkTS卡片只支持一部分组件、事件、动效、数据管理、状态管理和API能力。
卡片事件处理和使用方事件处理是独立的建议在使用方支持左右滑动的场景下,卡片内容不要使用左右滑动功能的组件,以防手势冲突影响交互体验。
暂不支持导入模块目前ArkTS卡片还不支持导入模块,限制了其代码复用和模块化的能力。
暂不支持极速预览目前ArkTS卡片还不支持极速预览功能,限制了开发过程中的即时调试能力。
暂不支持断点调试能力目前ArkTS卡片还不支持断点调试功能,限制了对代码逻辑的调试和排错能力。
暂不支持Hot Reload热重载目前ArkTS卡片还不支持Hot Reload热重载功能,限制了开发过程中的代码修改即时生效的能力。

 ?写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing?,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新VIP学习资料,请点击→全套鸿蒙HarmonyOS学习资料
  • 或者关注小编后私信回复【666】也可获取资料哦~~

最新鸿蒙Next全套学习资料请扫码
微信名片
注:本文转载自blog.csdn.net的蜀道山QAQ的文章"https://blog.csdn.net/shudaoshanQAQ/article/details/135479802"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top