[发明专利]一种内存泄漏处理方法、装置、计算机设备和存储介质在审
申请号: | 202310217900.0 | 申请日: | 2023-03-03 |
公开(公告)号: | CN116204449A | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 龚世杰 | 申请(专利权)人: | 抖音视界有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F12/1009 |
代理公司: | 北京中知法苑知识产权代理有限公司 11226 | 代理人: | 赵吉阳 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 泄漏 处理 方法 装置 计算机 设备 存储 介质 | ||
1.一种内存泄漏处理方法,其特征在于,应用于客户端,包括:
响应于内存泄漏检测功能被触发,确定在列表页中已创建的数据实例对象中、生命周期结束的第一对象的第一数量;所述列表页用于展示已创建的所述数据实例对象,不同的数据实例对象占用的内存大小不同;
根据所述第一数量和所述列表页关联的对象引用队列中存储的、已被回收的第一对象的第二数量,确定当前发生内存泄漏的第二对象的第三数量;
对各所述第二对象所占用的内存进行释放,并将根据所述第三数量生成的内存泄漏信息上报至服务端;所述服务端用于根据来自不同客户端的内存泄漏信息,生成内存泄漏报告。
2.根据权利要求1所述的方法,其特征在于,所述数据实例对象的生命周期根据以下步骤确定:
接收所述服务端反馈的与所述数据实例对象相匹配的数据包;
根据所述数据包在所述列表页中创建所述数据实例对象,并确定所述数据实例对象的生命周期开始;
响应于针对当前展示有所述数据实例对象的列表页的页面内容刷新操作,确定所述数据实例对象的生命周期结束。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述数据包在所述列表页中创建所述数据实例对象之后,还包括:
建立所述数据实例对象与所述对象引用队列之间的关联关系;
在所述确定所述数据实例对象的生命周期结束之后,还包括:
响应于所述数据实例对象在生命周期结束之后的预设时间段内被回收,按照所述关联关系将所述数据实例对象存储至所述对象引用队列中。
4.根据权利要求1所述的方法,其特征在于,所述对各所述第二对象所占用的内存进行释放,包括:
对所述列表页加载过程中所使用的内存信息进行回捞,得到所述列表页对应的堆内存信息;所述堆内存信息中包括在所述列表页中已创建的各个数据实例对象分别对应的引用链信息;
根据所述堆内存信息中与各所述第二对象相关的目标引用链信息,确定各所述第二对象的内存泄漏原因;
根据各所述第二对象的所述内存泄漏原因,对各所述第二对象所占用的内存分别进行释放。
5.根据权利要求1所述的方法,其特征在于,所述将根据所述第三数量生成的内存泄漏信息上报至服务端,包括:
在所述第三数量与所述第一数量的比值满足预设比值或所述第三数量满足预设数量阈值的情况下,确定各个所述第二对象在所述列表页中展示时所属的第一列表目录;不同的列表目录下展示的数据实例对象的类型不同;
根据所述第三数量、所述第一数量、客户端标识和各所述第二对象所属的所述第一列表目录,生成所述内存泄漏信息并上报至所述服务端。
6.根据权利要求2所述的方法,其特征在于,在所述接收所述服务端反馈的与所述数据实例对象相匹配的数据包之后,还包括:
确定所述数据包的数据量是否大于预设数据量阈值;
若是,则删除所述数据包,并生成与所述数据包相关的提示信息;
将所述提示信息反馈至服务端,以使所述服务端基于所述提示信息对所述数据包的数据量进行管控。
7.根据权利要求2所述的方法,其特征在于,在接收所述服务端反馈的与所述数据实例对象相匹配的数据包之后,还包括:
在所述内存的使用率大于预设使用率阈值或所述第三数量满足预设数量阈值的情况下,确定已获取的各个所述数据包分别所属的第二列表目录;
根据已获取的各个所述数据包的数据量、数据包标识和所属的所述第二列表目录,生成数据包统计信息并上报至所述服务端;所述服务端用于根据来自不同客户端的数据包统计信息,生成针对不同列表页的数据包分析报告。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于抖音视界有限公司,未经抖音视界有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310217900.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种扇形联动展开的工作平台
- 下一篇:一种提高硅钢晶粒大小的氧化镁涂料