[发明专利]检测内存泄漏的方法、装置及电子设备在审
申请号: | 201710321657.1 | 申请日: | 2017-05-09 |
公开(公告)号: | CN107145447A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 吴庭 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/54 |
代理公司: | 北京律智知识产权代理有限公司11438 | 代理人: | 姜怡,黄玉霞 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 内存 泄漏 方法 装置 电子设备 | ||
本申请涉及检测内存泄漏的方法、装置及电子设备,方法包括:获取待测的用户界面的标识;根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的请求,以使所述客户端执行打开和关闭所述用户界面的操作;获取所述客户端每次打开和关闭所述用户界面时的内存快照;根据所述内存快照上内存数量的差异评估所述用户界面是否内存泄露。本申请的技术方案能够快捷地检测软件中用户界面是否存在内存泄露问题。
技术领域
本申请涉及软件测试技术领域,具体而言,涉及检测内存泄漏的方法、装置及电子设备。
背景技术
内存泄漏是指程序里由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏会因为减少可用内存的数量从而降低计算机的性能。最终,在最糟糕的情况下,过多的可用内存被分配掉导致全部或部分设备停止正常工作,或者应用程序崩溃。
在一些软件中可能会有非常多的用户界面,由于用户界面通常会加载一些图形和特效,当程序的代码写得不规范时,导致容易出现内存泄漏。例如大型的手机游戏中,一般都会有非常多的用户界面,玩家在玩游戏的过程中也会频繁的打开和关闭这些用户界面。当玩家玩游戏的时间比较长,界面打开关闭频繁时,泄露的内存总量也会增加,导致游戏有因内存不足而闪退的风险。
当前比较常见的检测内存泄漏的方式,主要是通过观察游戏运行时内存的变化曲线,来获得内存的利用信息,当内存利用曲线持续升高时,就可以认为在游戏中存在内存泄漏的问题。比如图1中的内存占用曲线就是有明显的内存泄漏问题。
但是这种方式极为低效和不方便,例如在游戏里通常会有上百个用户界面,当用户界面比较多时,手动检测的方式比较费时费力,且很多用户界面藏得比较深,容易出现测试遗漏。
发明内容
本申请公开检测内存泄漏的方法,以快捷地检测软件中用户界面是否存在内存泄露问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的第一方面,提供一种检测内存泄漏的方法,包括:
获取待测的用户界面的标识;
根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的请求,以使所述客户端执行打开和关闭所述用户界面的操作;
获取所述客户端每次打开和关闭所述用户界面时的内存快照;
根据所述内存快照上内存数量的差异评估所述用户界面是否内存泄露。
根据一些实施例,根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的请求包括:通过脚本代码根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的请求。
根据一些实施例,根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的请求包括:根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的远程过程调用请求。
根据一些实施例,根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的远程过程调用请求包括:使用websocket或socket根据所述标识向被测软件的客户端循环发送用于模拟玩家打开和关闭所述用户界面的远程过程调用请求。
根据一些实施例,所述用户界面的标识包括所述用户界面的名称和所述用户界面的引用路径。
根据一些实施例,根据所述内存快照上内存数量的差异评估所述用户界面是否内存泄露包括:
对所述内存快照上内存数量的差异进行统计,根据统计结果评估所述用户界面是否内存泄露。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710321657.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:可折叠间隙测量尺
- 下一篇:一种带有报警功能的抽出式开关柜