EventHub、Emitter、commonEventManager 三种事件能力区别与选择
EventHub、Emitter、commonEventManager 三种事件能力区别与选择
        HarmonyOS
      
        赞
        
 收藏 0
 回答 2
 
        待解决
        
相关问题
 Emitter与EventHub的区别是什么? 
2645浏览  • 2回复 待解决
#鸿蒙学习大百科#系统、三方、预置这三种应用有哪些区别? 
1719浏览  • 1回复 待解决
candidate 会在哪三种情况下退出? 
5164浏览  • 1回复 待解决
视频进度滑动条的三种实现方式 
5227浏览  • 1回复 待解决
解码后的数据帧送显的三种方式 
1540浏览  • 1回复 待解决
树莓派可以安装deb rpm bin三种格式吗? 
4115浏览  • 1回复 待解决
请问Page Ability,Service Ability,Data Ability这三种Ability的区别和应用场景是什么? 
11874浏览  • 2回复 待解决
关于emitter、eventHub的使用场景 
4945浏览  • 2回复 待解决
#鸿蒙学习大百科#HarmonyOS中的Moudule的HAP、HAR、HSP三种类型有什么区别? 
1887浏览  • 1回复 待解决
HarmonyOS eventHub和Emitter是否会造成内存泄漏 
1468浏览  • 1回复 待解决
HarmonyOS emitter对比eventHub有没有性能差距 
1378浏览  • 1回复 待解决
#鸿蒙学习大百科#GridRow如何适配sm,md,lg三种尺寸的设备? 
1598浏览  • 1回复 待解决
HarmonyOS 事件订阅 emitter问题 
1897浏览  • 1回复 待解决
HarmonyOS commonEventManager注册事件接收问题接口问题 
1373浏览  • 1回复 待解决
PolarDB 支持结构迁移、全量数据迁移和增量数据迁移,这三种迁移类型有什么好处? 
4180浏览  • 1回复 待解决
HarmonyOS emitter事件处理问题 
1451浏览  • 1回复 待解决
HarmonyOS  接收不到eventhub事件 
1158浏览  • 1回复 待解决
HarmonyOS eventHub注册和移除事件监听 
2127浏览  • 1回复 待解决
HarmonyOS 测试应用需要调试订阅推送、实况窗更新消息、通知扩展消息 申请开启此三种场景的推送 
1350浏览  • 1回复 待解决
HarmonyOS commonEventManager 使用方案 
1445浏览  • 1回复 待解决
HarmonyOS第三方开源FFmpeg与AVCodec kit 区别? 
2893浏览  • 1回复 待解决
HarmonyOS CommonEventManager突然监听不到COMMON_EVENT_TIME_TICK事件 
1209浏览  • 1回复 待解决
无序公共事件、有序公共事件和粘性公共事件三者有什么区别? 
1931浏览  • 1回复 待解决
事件系统eventHub,在组件中使用 eventHub.on 订阅的方法,不能访问组件的变量 
2127浏览  • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙线性和非线性容器的区别与选择 
1238浏览  • 1回复 待解决





















背景与分析
HarmonyOS系统上主要提供了3种事件相关的模块,分别是EventHub、Emitter、commonEventManager。
它们3个模块使用上非常相识,都是订阅+发布的形式。但是实际应用场景有很大的不同。
EventHub
EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。
特点:
Emitter
Emitter模块提供了在同一进程不同线程间,或同一进程同一线程内,发送和处理事件的能力,包括持续订阅事件、单次订阅事件、取消订阅事件,以及发送事件到事件队列的能力。
特点:
commonEventManager
CommonEvent模块提供了公共事件相关的能力,包括发布公共事件、订阅公共事件、以及退订公共事件。
特点:
如何选择
主线程内通信:EventHub
主线程与Worker间通信:Emitter
应用间通信:commonEventManager
获取系统公共事件信息(低电量、充电信息):commonEventManager
你好,参考:
【HarmonyOS NEXT】EventHub和Emitter的使用场景与区别-鸿蒙开发者社区-51CTO.COM
commonEventManager 主要用于系统间公共事件的监听。