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