[发明专利]Android中异步通信工具设计方法有效
申请号: | 201810724905.1 | 申请日: | 2018-07-04 |
公开(公告)号: | CN109246177B | 公开(公告)日: | 2021-04-27 |
发明(设计)人: | 张磊;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F9/50 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 周天宇 |
地址: | 430000 湖北省武汉市武汉东湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | android 异步 通信 工具 设计 方法 | ||
本公开提供一种Android中异步通信工具的设计方法,包括:定义DyHandler类;定义生产DyHandler对象的getDyHandler(Class cls)函数;定义Map集合,用于表示cls与DyHandler类的映射关系;在根据cls产生DyHandler对象时,判定cls是否存在于Map集合中,存在,则调用getDyHandler(Class cls)函数得到DyHandler对象,否则,调用DyHandler类的构造函数获得DyHandler对象;当不再使用DyHandler对象时,将DyHandler对象从Map集合中删除。该方法解决了Handler使用繁琐及内存泄漏的问题。
技术领域
本公开涉及通信技术领域,尤其涉及一种Android中异步通信工具设计方法。
背景技术
传统方案中异步通信使用的是Android系统提供的一个Handler工具类来进行通信的,由于该方案中存在Handler的使用比较频繁,并且需要实例化对象及对消息回调的处理等问题,使得其使用起来非常繁琐,并且当对消息不能够及时释放的时候,就很容易产生内存泄漏的问题,从而导致内存被大量占用而不释放,导致其他业务无法申请到相应的内存空间,从而出现异常。
发明内容
针对传统方案中现有的技术问题,本发明提供一种Android系统中异步通信工具的设计方法及Android电子设备,用于解决来传统方案中Handler使用难度大导致的异步通信使用繁琐及Handler中对消息释放不及时导致内存泄漏从而导致内存被大量占用致使其他业务无法申请到相应的内存空间的问题。
本公开提供了一种Android系统中异步通信工具的设计方法,包括:定义DyHandler类;定义生产DyHandler对象的getDyHandler(Class cls)函数,其中,cls为产生DyHandler对象的调用参数;定义Map集合,其中,所述Map集合的mMap对象用于表示所述调用参数cls与根据该调用参数cls所产生的DyHandler对象的映射关系;在根据调用参数cls产生DyHandler对象时,判定调用参数cls是否存在于所述Map集合的mMap对象中,如果是,则调用getDyHandler(Class cls)函数得到DyHandler对象,否则,调用DyHandler类的构造函数来获得DyHandler对象;当不再使用所述DyHandler对象时,将所述DyHandler对象从所述mMap对象中删除。
可选地,该DyHandler类中包括用于进行消息传输的协议栈和消息传输的对象mListener,将所述对象mListener赋值为入参参数listener,构建所述对象mListener与调用函数消息接受的引用关系,再通过协议栈将消息传输给调用函数的对象。
可选地,该getDyHandler(Class cls)函数为所述DyHandler类中的静态函数。
可选地,在调用getDyHandler(Class cls)函数得到DyHandler对象时,判断所述调用参数cls是否为空,如果是则返回,否则获取该DyHandler对象。
可选地,将所述DyHandler对象从所述mMap对象中删除,包括:通过调用mMap对象中的mMap.remove(cls)方法来将所述DyHandler对象进行释放。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810724905.1/2.html,转载请声明来源钻瓜专利网。