[发明专利]一种内存检测方法、设备及计算机存储介质在审
申请号: | 201710702349.3 | 申请日: | 2017-08-16 |
公开(公告)号: | CN107562586A | 公开(公告)日: | 2018-01-09 |
发明(设计)人: | 吕伟 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 北京派特恩知识产权代理有限公司11270 | 代理人: | 沈寒酉,张颖玲 |
地址: | 518000 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 检测 方法 设备 计算机 存储 介质 | ||
技术领域
本发明涉及终端技术领域,尤其涉及一种内存检测方法、设备及计算机存储介质。
背景技术
应用程序在运行时会给生成的线程申请内存空间以供应用程序正常运行,在应用程序运行完成后通常会释放掉相应的内存空间,以免内存空间出现不需要的占用,从而引起内存空间不足,拖慢应用程序运行速度,甚至导致系统崩溃。
目前,常用的做法为在应用程序结束运行时将所占用的内存空间进行释放。但是在实际使用过程中,在应用程序运行完成后,应用程序所申请的内存空间可能没有被释放,这样就会造成其他应用程序申请内存时出现内存不足的情况。
发明内容
本发明的主要目的在于提出一种内存检测方法、设备及计算机存储介质,旨在对内存空间占用情况进行检测,实现对未释放的内存空间及时进行释放。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种内存检测方法,所述方法包括:
获取应用程序所对应的内存申请函数的第一地址集合和所述应用程序所对应的内存释放函数的第二地址集合;
将所述第一地址集合与所述第二地址集合进行比较,获取比较结果;
根据所述比较结果确定内存空间是否释放。
可选地,所述根据所述比较结果确定内存空间是否释放,包括:
当所述比较结果表征所述第一地址集合与所述第二地址集合中的地址能够匹配时,确定所述内存空间已经释放;
当所述比较结果表征所述第一地址集合与所述第二地址集合中的地址不能够匹配时,确定所述内存空间未释放。
可选地,所述方法还包括:
当确定所述内存空间未释放时,将未释放的内存空间进行释放。
可选地,在所述获取应用程序所对应的内存申请函数的第一地址集合和所述应用程序所对应的内存释放函数的第二地址集合之前,所述方法还包括:
当所述应用程序启动时,生成与所述应用程序相对应的线程;
通过所述内存申请函数为所生成的线程申请内存空间;
当所述应用程序结束运行时,通过所述内存释放函数为所生成的线程释放内存空间。
可选地,所述方法还包括:
在所述内存申请函数和所述内存释放函数中注入HOOK函数;所述HOOK函数为钩子函数,用于记录所述内存申请函数所对应的第一地址集合与所述内存释放函数所对应的第二地址集合。
可选地,所述在所述内存申请函数和所述内存释放函数中注入HOOK函数,包括:
在所述内存申请函数中注入第一HOOK函数;所述第一HOOK函数用于记录所述内存申请函数所对应的第一地址集合;
在所述内存释放函数中注入第二HOOK函数;所述第二HOOK函数用于记录所述内存释放函数所对应的第二地址集合。
可选地,所述将所述第一地址集合与所述第二地址集合进行比较,包括:
调用所述第一HOOK函数中记录的第一地址集合和所述第二HOOK函数中记录的第二地址集合;
将所述第一地址集合中的每一条地址信息与所述第二地址集合中的每一条地址信息逐一进行比较。
可选地,所述方法还包括:
获取所述第二地址集合中不能与所述第一地址集合相匹配的地址信息;其中,所述第二地址集合中不能与所述第一地址集合相匹配的地址信息所对应的内存空间为未释放的内存空间。
第二方面,本发明实施例提供了一种内存检测设备,所述设备包括处理器、存储器及内存;
所述内存,配置为应用程序提供内存空间;
所述存储器,配置为存储内存检测程序;
所述处理器,配置为执行存储器中存储的内存检测程序,以实现以下步骤:
获取应用程序所对应的内存申请函数的第一地址集合和所述应用程序所对应的内存释放函数的第二地址集合;
将所述第一地址集合与所述第二地址集合进行比较,获取比较结果;
根据所述比较结果确定内存空间是否释放。
第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有内存检测程序,所述内存检测程序被处理器执行时实现上述的内存检测方法的步骤。
本发明实施例所提供的一种内存检测方法、设备及计算机存储介质,通过对内存申请函数的第一地址集合和内存释放函数的第二地址集合进行比较,获取比较结果,然后根据比较结果判断内存空间是否已经释放,实现了对未释放的内存空间及时进行释放,避免了内存空间的浪费。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710702349.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动测试内存性能的方法
- 下一篇:一种评估信号链路损耗的方法