一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

内存释放方法、装置、电子设备及存储介质与流程

2022-09-15 06:28:08 来源:中国专利 TAG:

技术特征:
1.一种内存释放方法,其特征在于,应用于电子设备,包括:响应第一应用程序发送的内存释放请求,所述内存释放请求包括第一内存块的地址范围;根据所述地址范围,确定所述第一内存块,并将所述第一内存块释放;判断所述第一内存块是否重复释放;若是,则将所述第一内存块标记为重复释放内存块,以避免所述第一内存块被再次分配给应用程序;若否,则将所述第一内存块标记为空闲内存块。2.根据权利要求1所述的方法,其特征在于,所述第一内存块包括初始内存释放值,所述初始内存释放值表征所述第一内存块连续释放的次数;所述判断所述第一内存块是否重复释放的步骤,包括:将所述初始内存释放值加1,得到目标内存释放值;若所述目标内存释放值大于预设值,则表征所述第一内存块重复释放;其中,所述预设值表征所述内存块重复释放时对应的连续释放次数;若所述目标内存释放值小于或等于所述预设值,则表征所述第一内存块未重复释放。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应第二应用程序发送的内存分配请求,所述内存分配请求包括内存地址大小;判断是否存在满足所述内存地址大小的空闲内存块;若是,则在任意一个所述空闲内存块中为所述第二应用程序分配第二内存块;若否,则从所有所述重复释放内存块中,确定出至少一个目标内存块,并利用预设回收算法对每个所述目标内存块均进行回收,得到每个回收内存块,以及在所有所述回收内存块中为所述第二应用程序分配所述第二内存块;将所述第二内存块的初始内存释放值置为0。4.根据权利要求3所述的方法,其特征在于,所述电子设备预先存储有日志表,所述日志表包括每个内存块的地址范围和每个所述地址范围对应的累计释放次数;所述从所有所述重复释放内存块中,确定出至少一个目标内存块的步骤,包括:根据每个所述重复释放内存块的地址范围,从所述日志表中确定出每个所述重复释放内存块的累计释放次数;计算所述重复释放内存块的当次释放次数阈值;将每个所述累计释放次数大于1,且小于或等于所述当次释放次数阈值的重复释放内存块均作为所述目标内存块。5.根据权利要求4所述的方法,其特征在于,所述日志表还包括所述电子设备对重复释放内存块进行回收的历史回收次数;所述计算所述重复释放内存块的当次释放次数阈值的步骤,包括:从所述日志表中获取所述历史回收次数;根据所述历史回收次数和预设释放次数阈值,利用预设公式k=2
n
×
k0计算得到所述当次释放次数阈值;其中所述预设释放阈值表征所述电子设备对重复释放内存块进行第一次回收时对应的释放次数阈值;其中,k为所述当次释放次数阈值,n为所述历史回收次数,k0为所述预设释放次数阈
值。6.一种内存释放装置,其特征在于,应用于电子设备,所述内存释放装置包括:响应模块,用于响应第一应用程序发送的内存释放请求,所述内存释放请求包括第一内存块的地址范围;释放模块,用于根据所述地址范围,确定所述第一内存块,并将所述第一内存块释放;判断模块,用于判断所述第一内存块是否重复释放;标记模块,用于:若是,则将所述第一内存块标记为重复释放内存块,以避免所述第一内存块被再次分配给应用程序;若否,则将所述第一内存块标记为空闲内存块。7.根据权利要求6所述的内存释放装置,其特征在于,所述第一内存块包括初始内存释放值,所述初始内存释放值表征所述第一内存块连续释放的次数;所述判断模块,还用于:将所述初始内存释放值加1,得到目标内存释放值;若所述目标内存释放值大于预设值,则表征所述第一内存块重复释放;其中,所述预设值表征所述内存块重复释放时对应的连续释放次数;若所述目标内存释放值小于或等于所述预设值,则表征所述第一内存块未重复释放。8.根据权利要求6所述的内存释放装置,其特征在于,所述内存释放装置还包括分配模块;所述响应模块,还用于响应第二应用程序发送的内存分配请求,所述内存分配请求包括内存地址大小;所述分配模块,用于:判断是否存在满足所述内存地址大小的空闲内存块;若是,则在任意一个所述空闲内存块中为所述第二应用程序分配第二内存块;若否,则从所有所述重复释放内存块中,确定出至少一个目标内存块,并利用预设回收算法对每个所述目标内存块均进行回收,得到每个回收内存块,以及在所有所述回收内存块中为所述第二应用程序分配所述第二内存块;将所述第二内存块的初始内存释放值置为0。9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的内存释放方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-5中任一项所述的内存释放方法。

技术总结
本发明实施例提供了一种内存释放方法、装置、电子设备及存储介质,涉及内存管理技术领域。方法包括:响应第一应用程序发送的内存释放请求,内存释放请求包括第一内存块的地址范围;根据地址范围,确定第一内存块,并将第一内存块释放;判断第一内存块是否重复释放;若是,则将第一内存块标记为重复释放内存块,以避免第一内存块被再次分配给应用程序;若否,则将第一内存块标记为空闲内存块。由于将确定出的重复释放的内存块标记为重复释放内存块,从而避免了该内存块再次分配给应用程序以及再次被释放而导致内存崩溃的情况。被释放而导致内存崩溃的情况。被释放而导致内存崩溃的情况。


技术研发人员:邬科科 金文静 冯丹荣
受保护的技术使用者:宁波三星智能电气有限公司
技术研发日:2022.06.27
技术公布日:2022/9/13
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献