事件传递方法、装置、系统和电子设备制造方法及图纸

技术编号:25308233 阅读:30 留言:0更新日期:2020-08-18 22:27
本发明专利技术提供了一种事件传递方法、装置、系统和电子设备,首先事件传递组件监听事件接收方的运行状态,如果监听到事件接收方停止运行,删除事件传递组件中保存的该事件接收方注册的被观察对象;当事件接收方正常运行,接收到事件发布方发送的被观察对象的状态更新事件时,向事件接收方发送状态更新事件,以使事件接收方根据该事件更新自身状态。该方式中的事件传递组件可根据监听的事件接收方的运行状态,判定是否取消该事件接收方对被观察对象的注册,该方式无需编写取消注册代码,节省了代码编写的成本,且避免了组件内存的泄露;同时该方式的事件接收方根据被观察对象的状态更新时间自动更新自身的状态,提高了事件处理的自动化程度。

【技术实现步骤摘要】
事件传递方法、装置、系统和电子设备
本专利技术涉及数据通信
,尤其是涉及一种事件传递方法、装置、系统和电子设备。
技术介绍
事件总线是消息或者事件流动的管道,在Android软件中,事件总线在不同页面的通信、不同组件的通信中扮演着不可或缺的角色。相关技术中,事件总线通常采用安卓系统的软件开发包(简称AndroidSDK)提供的BroadcastReceiver组件,实现事件的传递。该方式中广播接收者在BroadcastReceiver组件对应的AMS(ActivityManagerService,系统管理服务)中进行对象注册或者取消注册;广播发送者通过Binder机制向AMS发送广播事件;AMS根据广播发送者要求,在已注册列表中寻找合适的广播接收者,并将广播事件发送至合适的广播接收者的消息循环队列中,以使广播接收者从消息循环队列中拿到广播事件,并回调BroadcastReceiver中的onReceive函数,但该方式中广播接收者需要借助该onReceive函数才可执行广播事件对应的操作,事件处理的自动化效果较差。r>同时,研发人员在本文档来自技高网...

【技术保护点】
1.一种事件传递方法,其特征在于,所述方法应用于配置有事件传递组件的设备,所述事件传递组件与事件发布方和事件接收方通信;所述事件传递组件中保存有所述事件接收方注册的被观察对象;所述方法包括:/n监听所述事件接收方的运行状态,如果监听到所述事件接收方停止运行,删除所述事件接收方注册的被观察对象;/n如果监听到所述事件接收方未停止运行,当接收到所述事件发布方发送的所述被观察对象的状态更新事件时,向所述事件接收方发送所述状态更新事件,以通过所述事件接收方根据所述状态更新事件,更新所述事件接收方的状态。/n

【技术特征摘要】
1.一种事件传递方法,其特征在于,所述方法应用于配置有事件传递组件的设备,所述事件传递组件与事件发布方和事件接收方通信;所述事件传递组件中保存有所述事件接收方注册的被观察对象;所述方法包括:
监听所述事件接收方的运行状态,如果监听到所述事件接收方停止运行,删除所述事件接收方注册的被观察对象;
如果监听到所述事件接收方未停止运行,当接收到所述事件发布方发送的所述被观察对象的状态更新事件时,向所述事件接收方发送所述状态更新事件,以通过所述事件接收方根据所述状态更新事件,更新所述事件接收方的状态。


2.根据权利要求1所述的方法,其特征在于,所述监听所述事件接收方的运行状态的步骤之前,所述方法还包括:
接收来自所述被观察对象发送的注册信息;所述注册信息包括:注册所述被观察对象的事件接收方的身份信息;所述注册信息为所述事件接收方完成所述被观察对象的注册时,由所述被观察对象生成;
根据所述注册信息,确定需要监听的事件接收方。


3.根据权利要求2所述的方法,其特征在于,确定需要监听的事件接收方的步骤之后,所述方法还包括:
将所述被观察对象的当前状态信息,发送至所述事件接收方;其中,所述当前状态信息根据所述被观察对象的默认状态,以及所述事件发布方发送的所述被观察对象的历史状态更新事件生成。


4.根据权利要求1所述的方法,其特征在于,所述事件传递组件中关联保存有所述事件接收方的身份信息,以及所述事件接收方注册的被观察对象的对象标识;
所述如果监听到所述事件接收方停止运行,删除所述事件接收方注册的被观察对象的步骤,包括:
如果所述被观察对象的对象标识关联保存有多个事件接收方的身份信息,监听所述多个事件接收方的运行状态;
针对每个所述事件接收方,如果监听到当前事件接收方停止运行,删除所述当前事件接收方关联保存的被观察对象的身份标识。


5.根据权利要求4所述的方法,其特征在于,所述对象标识包括:所述事件接收方注册所述被观察对象时设置的对象名称和/或路径地址。


6.根据权利要求1所述的方法,其特征在于,所述事件传递组件中关联保存有所述事件接收方的身份信息,以及所述事件接收方注册的被观察对象的对象标识;
所述当接收到所述事件发布方发送的所述被观察对象的状态更新事件时,向所述事件接收方发送所述状态更新事件的步骤,包括:
当接收到所述事件发布方发送的所述被观察对象的状态更新事件时,提取所述被观察对象的对象标识;
获取与所述被观察对象的对象标识关联保存的所述事件接收方的身份信息;
根据所述事件接收方的身份信息,向所述事件接收方发送所述状态更新事件。


7.根据权利要求6所述的方法,其特征在于,所述被观察对象的对象标识关联保存有多个事件接收方的身份信息;
所述根据所述事件接收方的身份信息,向所述事件接收方发送所述状态更新事件的步骤,包括:向所述多个事件接收方的身份信息所对应的事件接收方,发送所述状态更新事件。


8.根据...

【专利技术属性】
技术研发人员:陈继军
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1