[发明专利]一种内存泄漏异常的处理方法、装置和终端设备在审
申请号: | 202111609340.0 | 申请日: | 2021-12-24 |
公开(公告)号: | CN114218008A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 王双;杨丽娜 | 申请(专利权)人: | 展讯通信(天津)有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 北京汇思诚业知识产权代理有限公司 11444 | 代理人: | 汪源 |
地址: | 300450 天津市滨海新区自贸*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 泄漏 异常 处理 方法 装置 终端设备 | ||
本发明实施例提供了一种内存泄漏异常的处理方法、装置和终端设备。本发明实施例提供的技术方案中,检测应用是否发生内存泄漏,若检测出应用发生内存泄漏,生成内存泄漏异常的处理方式,根据所述内存泄漏异常的处理方式,对内存泄漏异常进行异常处理,有利于研发人员快速对内存泄漏异常进行处理,提高了内存泄漏异常问题的处理效率。
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种内存泄漏异常的处理方法、装置和终端设备。
【背景技术】
随着现代科技的不断发展,智能设备的硬件和软件方面都得到了很大的提升,例如,在智能手机行业,手机的运行内存已经可以达到12GB,同时配合越来越精细的软件和硬件,极大的提升了用户体验。但这也引发了新的问题,手机的应用软件变得复杂后,对内存的使用需求也更加庞大,可能会出现内存使用超出预期的情况,即应用发生内存泄漏。
目前,在应用开发调试过程中,如果发生内存泄漏异常问题,只能从内存泄漏异常的相关日志文件中看到最后报错时应用的堆栈信息,若只利用最后报错时应用的堆栈信息对内存泄漏问题进行处理,需要研发人员重新对应用进行测试并手动抓取应用的调试信息,对内存泄漏异常问题的处理效率较低。
【发明内容】
有鉴于此,本发明实施例提供了一种内存泄漏异常的处理方法、装置和终端设备,用以解决现有技术中对内存泄漏异常问题的处理效率较低的问题。
第一方面,本发明实施例提供了一种内存泄漏异常的处理方法,所述方法包括:
检测应用是否发生内存泄漏;
若检测出应用发生内存泄漏,生成内存泄漏异常的处理方式;
根据所述内存泄漏异常的处理方式,对内存泄漏异常进行异常处理。
在一种可能的实现方式中,所述根据所述内存泄漏异常的处理方式,对内存泄漏异常进行异常处理,具体包括:
创建文件目录和hprof文件名称;
调用Java的生成hprof文件的接口函数;
向所述接口函数输入所述文件目录和所述hprof文件名称,生成所述hprof文件;
关闭所述应用;
清理所述应用占用的内存资源。
在一种可能的实现方式中,所述检测应用是否发生内存泄漏,具体包括:
获取在所述应用中创建新对象所需的内存空间;
检测虚拟机剩余内存空间和垃圾回收器可回收空间;
判断所述虚拟机剩余内存空间是否小于所述创建新对象所需的内存空间且判断所述垃圾回收器可回收空间是否小于所述创建新对象所需的内存空间;
若判断出所述虚拟机剩余内存空间小于所述创建新对象所需的内存空间且判断出所述垃圾回收器可回收空间小于所述创建新对象所需的内存空间,确定出所述应用发生内存泄漏。
在一种可能的实现方式中,所述方法还包括:
获取所述应用发生内存泄漏时的堆栈信息;
生成应用进程名、进程号和内存泄漏异常相关的关键日志文件;
生成所述堆栈信息对应的堆栈信息文件。
在一种可能的实现方式中,所述获取所述应用发生内存泄漏时的堆栈信息包括:
调用Java的try-catch语句捕获所述应用发生内存泄漏时的堆栈信息。
在一种可能的实现方式中,所述根据所述内存泄漏异常的处理方式,对内存泄漏异常进行异常处理,具体还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于展讯通信(天津)有限公司,未经展讯通信(天津)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111609340.0/2.html,转载请声明来源钻瓜专利网。