[发明专利]一种内存管理方法、装置及电子设备在审
申请号: | 201710670731.0 | 申请日: | 2017-08-08 |
公开(公告)号: | CN107544846A | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 张磊;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京众达德权知识产权代理有限公司11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 方法 装置 电子设备 | ||
技术领域
本发明涉及视频播放技术领域,特别涉及一种内存管理方法、装置及电子设备。
背景技术
在一些视频或直播类应用(Application,APP)的开发过程中我们通常会对某一些事件进行监听,并需要将点击发送按钮的相关信息传递到其他业务逻辑中,在这些应用的一些显示面板中将信息对外暴露的方案通常是使用监听器的方式来进行暴露,也就是说被监听者有相关信号触发的时候会将触发信号发送给监听者,通过这种方式来完成信号的转发。
常规方案中监听的实现方式通常都是直接引用关系,也就是说被监听着持有监听者的引用,当信号触发的时候被监听着通过监听者的引用关系将信号转发到监听者中去。后续如果监听者不再关注监听信号的时候需要及时的将引用关系从被监听着中进行移除,这样监听者就能够有效的释放内存资源。如果监听者没有及时的将资源信息进行移除,由于被监听着可能常驻内存高,同时被监听着有长期持有监听者的引用关系,这样就会导致系统认为监听者一直需要被使用,所以永远不会进行释放,这样就会造成内存泄漏的问题产生。
发明内容
本发明实施例提供了一种内存管理方法、装置及电子设备,避免了消息监听时,被监听者有长期持有监听者的引用关系,导致监听者一直需要被使用,从而导致内存泄漏的问题。
第一方面,本申请提供了一种内存管理方法,该方法包括:
获取为强引用对象的第一接收对象的注册请求;
将所述第一接收对象转换为弱引用对象的第二接收对象,所述第二接收对象为所述第一接收对象被弱引用壳子包裹后的接收对象;
若在预置的接收对象集合中不存在所述第二接收对象,则将所述第二接收对象添加到所述接收对象集合中;
在内存资源紧张时,回收所述接收对象集合中被弱引用壳子包裹的所述第一接收对象。
进一步的,所述方法还包括:
定义消息通信接口协议,所述消息通信接口协议中包括消息发送函数。
进一步的,所述方法还包括:
遍历所述接收对象集合中每一接收对象;
依次以所述接收对象集合中每一接收对象为目标接收对象,判断所述目标接收对象对应的弱引用壳子中包裹的元素是否为空;
若是,则遍历接收对象集合中下一个接收对象;
若否,则调用消息通信接口协议中的消息发送函数发送消息到所述目标接收对象。
进一步的,在所述若在预置的接收对象集合中不存在所述第二接收对象,则将所述第二接收对象添加到所述接收对象集合中步骤之前,所述方法还包括:
利用contains方法检测所述接收对象集合中是否存在所述第二接收对象。
进一步的,所述方法还包括:
获取删除第三接收对象的指令,所述第三接收对象被弱引用壳子包裹后形成第四接收对象;
将所述第三接收对象从所述接收对象集合中的第四接收对象中删除。
第二方面,本申请提供一种内存管理装置,该装置包括:
获取模块,用于获取为强引用对象的第一接收对象的注册请求;
转换模块,用于将所述第一接收对象转换为弱引用对象的第二接收对象,所述第二接收对象为所述第一接收对象被弱引用壳子包裹后的接收对象;
添加模块,用于若在预置的接收对象集合中不存在所述第二接收对象,则将所述第二接收对象添加到所述接收对象集合中;
资源回收模块,用于在内存资源紧张时,回收所述接收对象集合中被弱引用壳子包裹的所述第一接收对象。
进一步的,所述装置还包括:
定义模块,用于定义消息通信接口协议,所述消息通信接口协议中包括消息发送函数。
进一步的,所述装置还包括:
消息发送模块,用于遍历所述接收对象集合中每一接收对象;依次以所述接收对象集合中每一接收对象为目标接收对象,判断所述目标接收对象对应的弱引用壳子中包裹的元素是否为空;若是,则遍历接收对象集合中下一个接收对象;若否,则调用消息通信接口协议中的消息发送函数发送消息到所述目标接收对象。
进一步的,所述装置还包括:
删除模块,用于获取删除第三接收对象的指令,所述第三接收对象被弱引用壳子包裹后形成第四接收对象;将所述第三接收对象从所述接收对象集合中的第四接收对象中删除。
进一步的,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710670731.0/2.html,转载请声明来源钻瓜专利网。