[发明专利]消息处理方法、装置及电子设备有效
申请号: | 201710648064.6 | 申请日: | 2017-08-01 |
公开(公告)号: | CN107463380B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 张磊;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 苏胜 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步消息处理 目标业务 异步处理 抽象类 实例化 装置及电子设备 实例化对象 消息处理 业务逻辑 应用程序 调用 开发效率 内存开销 判断条件 装置应用 类继承 | ||
本发明提供一种消息处理方法、装置及电子设备,方法及装置应用于包括多个业务逻辑的应用程序。方法包括:基于设置在目标业务逻辑的实现类中的判断条件,在抽象类种判断目标业务逻辑是否需要异步处理消息,该实现类继承于该抽象类;在目标业务逻辑需要异步处理消息时,判断该抽象类中是否实例化有异步消息处理类,若未实例化,则实例化异步消息处理类;在该实现类中调用异步消息处理类的实例化对象,对目标业务逻辑的消息进行处理。如此,可以仅在抽象类中实例化异步消息处理类,应用程序中的各业务逻辑在需要异步处理消息时调用该异步消息处理类的实例化对象即可实现消息的异步处理,大大降低了内存开销,提高了开发效率。
技术领域
本发明涉及通信技术领域,具体而言,涉及一种消息处理方法、装置及电子设备。
背景技术
一个应用程序通常需要实现多个业务逻辑,用于独立完成一个业务逻辑的程序代码属于一个层级。有时各个层级的程序代码可能需要执行耗时的操作,并且在该操作执行完毕时需要对应用程序的用户界面进行更新。针对这类操作,现有的做法是开辟一个单独的子线程来执行,以免造成用户界面的阻塞。而用户界面的更新需要在应用程序的主线程进行,这就要求子线程将操作执行的结果传递到主线程,以使用户界面更新。
目前,通常采用异步消息处理类来实现子线程与主线程之间的消息传递。现有的做法是在应用程序中需要进行异步消息处理的层级中对异步消息处理类进行实例化,这就导致应用程序中有多个层级都实例化有异步消息处理对象,会导致内存的开销增大。同时,在多个层级中实例化异步消息处理对象会导致重复开发的问题,既降低了开发效率,又浪费了开发成本。
发明内容
有鉴于此,本发明的目的在于提供一种消息处理方法、装置及电子设备,以改善上述问题。
为了达到上述目的,本发明实施例提供一种消息处理方法,应用于实现多个业务逻辑的应用程序,所述方法包括:
基于设置在目标业务逻辑的实现类中的判断条件,在抽象类中判断所述目标业务逻辑是否需要异步处理消息,所述实现类继承于所述抽象类;
在所述目标业务逻辑需要异步处理消息时,判断所述抽象类中是否实例化有异步消息处理类,若未实例化,则实例化所述异步消息处理类;
在所述实现类中调用所述异步消息处理类的实例化对象,对所述目标业务逻辑的消息进行处理。
可选地,在上述方法中,基于设置在目标业务逻辑的实现类中的判断条件,在抽象类中判断所述目标业务逻辑是否需要异步处理消息的步骤,包括:
在所述抽象类中声明构造方法以及抽象的开关方法;
在所述实现类中重写并实现所述开关方法,使所述开关方法的返回值与所述目标业务逻辑是否需要异步处理消息相对应;
在所述构造方法中调用所述开关方法,并基于所述开关方法的返回值确定所述目标业务逻辑是否需要异步处理消息。
可选地,在上述方法中,判断所述抽象类中是否实例化有异步消息处理类的步骤,包括:
获取对象获取方法的返回值,所述对象获取方法用于获取所述异步消息处理类的实例化对象并返回;
在所述对象获取方法的返回值不为空时,确定所述抽象类中未实例化异步消息处理类;
在执行判断所述抽象类中是否实例化有异步消息处理类的步骤之前,所述方法还包括:
在所述抽象类中声明所述对象获取方法。
可选地,在上述方法中,在所述实现类中调用所述异步消息处理类的实例化对象,对所述目标业务逻辑的消息进行处理的步骤,包括:
在所述实现类中调用所述对象获取方法,获取所述异步消息处理类的实例化对象;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710648064.6/2.html,转载请声明来源钻瓜专利网。