一种内存泄漏处理方法及电子设备技术

技术编号:37236572 阅读:19 留言:0更新日期:2023-04-20 23:18
本申请实施例提供一种内存泄漏处理方法及电子设备,涉及终端技术领域,可以增加电子设备的内存可用量,以提高电子设备的使用性能。电子设备包括至少一个进程,至少一个进程包括第一进程,包括:若确定内存满足第一预设条件,则获取第一进程对应的内存数据;满足第一预设条件包括第一进程存在内存泄漏;将第一进程对应的内存数据转存至暂存区域;其中,暂存区域为内存以外的存储区域。存区域为内存以外的存储区域。存区域为内存以外的存储区域。

【技术实现步骤摘要】
一种内存泄漏处理方法及电子设备


[0001]本申请涉及终端
,尤其涉及一种内存泄漏处理方法及电子设备。

技术介绍

[0002]随着电子设备的发展,各类应用(application,APP)层出不穷,使得用户可以在电子设备上通过应用处理很多事情,为用户提供了方便。但是,应用申请了对应的内存之后,长时间占据不使用,也不进行释放,则将导致整个系统内存存量持续不足、影响系统运行的问题,存在内存泄漏问题严重这一现象。这样一来,将会导致用户在使用应用的过程中产生卡顿等性能问题,从而影响整个电子设备的使用性能。
[0003]然而,相关技术中,在检测到电子设备中存在内存泄漏的应用后,如何进行处理是一个需要解决的重要问题。

技术实现思路

[0004]本申请实施例提供了一种内存泄漏处理方法及电子设备,通过将存在内存泄漏的应用的进程对应的内存数据换出到Swap分区或外存等内存以外的其他位置,可以使得电子设备的内存量充足,从而能够提高电子设备的使用性能。
[0005]为达到上述目的,本申请采用如下技术方案:r/>[0006]一本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种内存泄漏处理方法,应用于电子设备,所述电子设备包括至少一个进程,所述至少一个进程包括第一进程,其特征在于,所述方法包括:若确定内存满足第一预设条件,则获取所述第一进程对应的内存数据;所述满足第一预设条件包括所述第一进程存在内存泄漏;将所述第一进程对应的内存数据转存至暂存区域;其中,所述暂存区域为所述内存以外的存储区域。2.根据权利要求1所述的方法,其特征在于,所述满足第一预设条件还包括:系统的可用存储量、所述暂存区域的可用存储量以及所述第一进程的内存占用率中至少一个满足所述第一预设条件。3.根据权利要求2所述的方法,其特征在于,所述满足第一预设条件还包括:所述系统的可用存储量小于或等于第一存储量阈值。4.根据权利要求2所述的方法,其特征在于,所述满足第一预设条件还包括:所述暂存区域的可用存储量大于第二存储量阈值和/或所述占用率小于占用率阈值。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:若所述系统的可用存储量大于所述第一存储量阈值或所述暂存区域的可用存储量小于或等于所述第二存储量阈值或所述占用率大于或等于所述占用率阈值,则上报未对所述第一进程对应的内存数据进行转存的状态。6.根据权利要求1

5任一项所述的方法,其特征在于,所述将所述第一进程对应的内存数据转存至暂存区域,包括:获取所述第一进程的内存信息;其中,所述内存信息包括内存获取时间及对应的内存占用量;根据所述第一进程的内存泄漏速率和/或所述内存占用量,确定所述第一进程对应的内存数据的内存量;其中,所述内存泄漏速率是根据所述内存获取时间及对应的内存占用量确定的;以单位内存量为存储单元对所述第一进程对应的内存数据进行转存,直至存储至所述暂存区域的所述第一进程对应的内存数据的数据量大于或等于所述内存数据的内存量。7.根据权利要求1

5任一项所述的方法,其特征在于,所述内存数据包括匿名页,所述将所述第一进程对应的内存数据转存至暂存区域,包括:按照所述匿名页的优先级顺序,将所述匿名页转存至所述暂存区域;其中,所述优先级顺序为预设时长内未被调用的所述匿名页的优先级高于最先添加至二次回收链表的所述匿名页的优先级,最先添加至二次回收链表的所述匿名页的优先级高于未被多个进程同时调用的所述匿名页的优先级。8.根据权利要求1

5任一项所述的方法,其特征在于,在所述将所述第一进程对应的内存数据转存至暂存区域之后,所述方法还包括:将所述第一进程对应的内存数据从所述暂存区域转存至所述内存。9.根据权利要求8所述的方法,其特征在于,将所述第一进程对应的内存数据从所述暂存区域转存至所述内存,包括:若所述第一进程对应的内存数据被调用,则查询内存地址表以获取所述内存数据在所述暂存区域的第二存储地址;其中,所述内存地址表中记录了所述内存数据在所述内存的
第一存储地址与所述暂存区域的第二存储地址之间的对应关系;从所述第二存储地址中获取所述内存数据后,将所述内存数据转存至所述内存的存储区域。10.根据权利要求1

5任一项所述的方法,其特征在于,所述将所述第一进程对应的内存数据转存至暂存区域之前,还包括:对所述第一进程对应的内存数据进行数据压缩。11.根据权利要求10所述的方法,其特征在于,所述从所述第二存储地址中获取所述内存数据后,将所述内存数据转存至所述内存的存储区域,包括:对从所述第二存储地址中获取到的所述内存数据进行解压缩;将解压缩后的所述内存数据转存至所述内存的存储区域。12.根据权利要求1

5任一项所述的方法,其特征在于,在所述将所述第一进程对应的内存数据转存至暂存区域之后,所述方法还包括:获取所述暂存区域的可用存储量;若所述暂存区域的可用存储量小于或等于第三存储量阈值,则将所述暂存区域中存储的内存数据转存至缓冲区。13.根据权利要求1

5任一项所述的方法,其特征在于,所述将所述第一进程对应的内存数据转存至暂存区域之前,还包括:显示所述提示信息;其中,所述提示信息用于提示用户是否将所述第一进程对应的内存数据转出内存。14.根据...

【专利技术属性】
技术研发人员:王傲飞陈中领
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1