一种内存分配方法、装置及终端制造方法及图纸

技术编号:20517694 阅读:27 留言:0更新日期:2019-03-06 02:35
本发明专利技术提供了一种内存分配方法、装置及终端,涉及内存分配领域,用于解决现有技术中无法对根据应用实际使用情况对内存进行动态分配的问题,本发明专利技术实施例中的内存分配方法包括:获取应用在当次运行时被分配的目标内存值和实际需要占用的最大内存值;根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值。本发明专利技术上述方案,达到了根据应用实际使用情况,对内存进行动态分配,提高用户试验,避免内存浪费的效果。

A Memory Allocation Method, Device and Terminal

The invention provides a memory allocation method, device and terminal, which relates to the field of memory allocation, and is used to solve the problem that memory can not be dynamically allocated according to the actual use of the application in the prior art. The memory allocation method in the embodiment of the invention includes: acquiring the target memory value allocated by the application at the current run time and the maximum memory value actually needed; According to the target memory value allocated by the application at the current run time, the maximum memory value actually needed and the first preset value, the target memory value allocated by the application at the next run time is determined. The scheme of the invention achieves the effect of dynamic allocation of memory according to the actual application situation, improving user test and avoiding memory waste.

【技术实现步骤摘要】
一种内存分配方法、装置及终端
本专利技术涉及内存分配领域,尤其是一种内存分配方法、装置及终端。
技术介绍
目前的个性化推荐算法已经广泛应用在电子商务等领域,且运用的也已经比较成熟,比如当用户进行购买过或者浏览过某一商品的时候,系统会根据用户的行为,进行预测,给用户推荐一定的商品或者推荐一些类似的店铺,给用户更多的选择,让用户拥有更好的体验。现有的内存分配是,给应用一预先设定的初始值,应用每次运行时,分配给应用的内存值均为该初始值,当在应用运行过程中,若分配的内存不足以满足应用需求的时候,再对应用进行分配,直到满足应用的需求为止,若超过了规定的最大值,则出现内存溢出。该种手段存在的问题在于,在对应用分配初始值之后,若应用在实际使用过程中的需求内存远远低于该初始值,此时,分配给应用的内存仍然为该初始值,则会出现内存浪费,在同时打开多个应用时,会出现部分应用无内存可用的情况。并且,在应用运行过程中,若分配的初始内存无法满足应用的需求,再对应用重新分配内存的方式,会使得应用在运行过程中出现卡顿的情况,使得用户体验差。也即,现有技术中的内存分配方式无法达到根据应用实际使用情况,对内存进行动态分配,且用户体验较差。
技术实现思路
本专利技术实施例要解决的技术问题是提供一种内存分配方法、装置及终端,用以实现根据应用实际使用情况,对内存进行动态分配,提高用户试验。为解决上述技术问题,本专利技术实施例提供的内存分配方法,包括:获取应用在当次运行时被分配的目标内存值和实际需要占用的最大内存值;根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值。优选地,获取应用在当次运行时被分配的目标内存值的步骤包括:获取应用在首次运行时被分配的值为第二预设值的目标内存值,所述第二预设值小于所述第一预设值。优选地,获取应用在当次运行时被分配的目标内存值的步骤还包括:在应用再次运行时,判断所述应用在当次运行前是否被卸载过;若被卸载过,则按照第一预设方式获取所述应用在当次运行时被分配的目标内存值。优选地,按照第一预设方式获取所述应用在当次运行时被分配的目标内存值的步骤包括:获取根据所述应用被卸载前的最近一次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值所确定出的第一目标内存值,以及在所述应用被卸载时刻至所述应用被重新安装时刻之间的检测周期总数,所述检测周期总数为周期性检测所述应用是否被重新安装的总次数;根据所述第一目标内存值和所述检测周期总数,获得所述应用在当次运行时被分配的目标内存值。优选地,根据所述第一目标内存值和所述检测周期总数,获得所述应用在当次运行时被分配的目标内存值的步骤包括:根据所述第一目标内存值和所述检测周期总数,获得一第二目标内存值;若所述第二目标内存值大于或等于所述第二预设值,则将所述第二目标内存值确定为所述应用在当次运行时被分配的目标内存值;若所述第二目标内存值小于所述第二预设值,则将所述第二预设值确定为所述应用在当次运行时被分配的目标内存值。优选地,根据所述第一目标内存值和所述检测周期总数,获得一第二目标内存值的步骤包括:通过公式:获得第二目标内存值A″n,其中,A′n为所述第一目标内存值,m为所述检测周期总数,n为当前次的排序数。优选地,根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值的步骤包括:若所述最大内存值小于或等于所述第一预设值,则根据所述应用在当次运行时被分配的目标内存值和所述最大内存值,确定所述应用在下次运行时需要被分配的目标内存值;若所述最大内存值大于所述第一预设值,则将所述第一预设值确定为所述应用在下次运行时需要被分配的目标内存值。优选地,根据所述应用在当次运行时被分配的目标内存值和所述最大内存值,确定所述应用在下次运行时需要被分配的目标内存值的步骤包括:若所述目应用在当次运行时被分配的目标内存值大于或等于所述最大内存值,则将所述应用在当次运行时被分配的目标内存值确定为所述应用在下次运行时需要被分配的目标内存值;若所述应用在当次运行时被分配的目标内存值小于所述最大内存值,则将所述最大内存值确定为所述应用在下次运行时需要被分配的目标内存值。根据本专利技术的另一方面,本专利技术实施例还提供了一种内存分配装置,包括:获取模块,用于获取应用在当次运行时被分配的目标内存值和所述应用在当次运行时实际需要占用的最大内存值;确定模块,用于根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值。优选地,获取模块包括:第一获取单元,用于获取应用在首次运行时被分配的值为第二预设值的目标内存值,所述第二预设值小于所述第一预设值。优选地,获取模块还包括:判断单元,用于在应用再次运行时,判断所述应用在当次运行前是否被卸载过;第二获取单元,用于若被卸载过,则按照第一预设方式获取所述应用在当次运行时被分配的目标内存值。优选地,第二获取单元包括:第一获取子单元,用于获取根据所述应用被卸载前的最近一次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值所确定出的第一目标内存值,以及在所述应用被卸载时刻至所述应用被重新安装时刻之间的检测周期总数,所述检测周期总数为周期性检测所述应用是否被重新安装的总次数;第二获取子单元,用于根据所述第一目标内存值和所述检测周期总数,获得所述应用在当次运行时被分配的目标内存值。优选地,第二获取子单元包括:第一获取一级子单元,用于根据所述第一目标内存值和所述检测周期总数,获得一第二目标内存值;第一确定一级子单元,用于若所述第二目标内存值大于或等于所述第二预设值,则将所述第二目标内存值确定为所述应用在当次运行时被分配的目标内存值;第二确定一级子单元,用于若所述第二目标内存值小于所述第二预设值,则将所述第二预设值确定为所述应用在当次运行时被分配的目标内存值。优选地,第一获取一级子单元包括:通过公式:获得第二目标内存值A″n,其中,A′n为所述第一目标内存值,m为所述检测周期总数,n为当前次的排序数。优选地,确定模块包括:第一确定单元,用于若所述最大内存值小于或等于第一预设值,则根据所述应用在当次运行时被分配的目标内存值和所述最大内存值,确定所述应用在下次运行时需要被分配的目标内存值;第二确定单元,用于若所述最大内存值大于所述第一预设值,则将所述第一预设值确定为所述应用在下次运行时需要被分配的目标内存值。优选地,第一确定单元包括:第一确定子单元,用于若所述应用在当次运行时被分配的目标内存值大于或等于所述最大内存值,则将所述应用在当次运行时被分配的目标内存值确定为所述应用在下次运行时需要被分配的目标内存值;第二确定子单元,用于若所述应用在当次运行时被分配的目标内存值小于所述最大内存值,则将所述最大内存值确定为所述应用在下次运行时需要被分配的目标内存值。根据本专利技术的另一方面,本专利技术实施例还提供了一种终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述处理器执行所述程序时实现上述的内存分配方法。与现有技术相比,本专利技术实施例提供的内存分配方法、装置本文档来自技高网...

【技术保护点】
1.一种内存分配方法,其特征在于,包括:获取应用在当次运行时被分配的目标内存值和实际需要占用的最大内存值;根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值。

【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:获取应用在当次运行时被分配的目标内存值和实际需要占用的最大内存值;根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值。2.根据权利要求1所述的内存分配方法,其特征在于,获取应用在当次运行时被分配的目标内存值的步骤包括:获取应用在首次运行时被分配的值为第二预设值的目标内存值,所述第二预设值小于所述第一预设值。3.根据权利要求2所述的内存分配方法,其特征在于,获取应用在当次运行时被分配的目标内存值的步骤还包括:在应用再次运行时,判断所述应用在当次运行前是否被卸载过;若被卸载过,则按照第一预设方式获取所述应用在当次运行时被分配的目标内存值。4.根据权利要求3所述的内存分配方法,其特征在于,按照第一预设方式获取所述应用在当次运行时被分配的目标内存值的步骤包括:获取根据所述应用被卸载前的最近一次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值所确定出的第一目标内存值,以及在所述应用被卸载时刻至所述应用被重新安装时刻之间的检测周期总数,所述检测周期总数为周期性检测所述应用是否被重新安装的总次数;根据所述第一目标内存值和所述检测周期总数,获得所述应用在当次运行时被分配的目标内存值。5.根据权利要求4所述的内存分配方法,其特征在于,根据所述第一目标内存值和所述检测周期总数,获得所述应用在当次运行时被分配的目标内存值的步骤包括:根据所述第一目标内存值和所述检测周期总数,获得一第二目标内存值;若所述第二目标内存值大于或等于所述第二预设值,则将所述第二目标内存值确定为所述应用在当次运行时被分配的目标内存值;若所述第二目标内存值小于所述第二预设值,则将所述第二预设值确定为所述应用在当次运行时被分配的目标内存值。6.根据权利要求5所述的内存分配方法,其特征在于,根据所述第一目标内存值和所述检测周期总数,获得一第二目标内存值的步骤包括:通过公式:获得第二目标内存值A″n,其中,A′n为所述第一目标内存值,m为所述检测周期总数,n为当前次的排序数。7.根据权利要求1所述的内存分配方法,其特征在于,根据所述应用在当次运行时被分配的目标内存值、实际需要占用的最大内存值和第一预设值,确定所述应用在下次运行时需要被分配的目标内存值的步骤包括:若所述最大内存值小于或等于所述第一预设值,则根据所述应用在当次运行时被分配的目标内存值和所述最大内存值,确定所述应用在下次运行时需要被分配的目标内存值;若所述最大内存值大于所述第一预设值,则将所述第一预设值确定为所述应用在下次运行时需要被分配的目标内存值。8.根据权利要求7所述的内存分配方法,其特征在于,根据所述应用在当次运行时被分配的目标内存值和所述最大内存值,确定所述应用在下次运行时需要被分配的目标内存值的步骤包括:若所述应用在当次运行时被分配的目标内存值大于或等于所述最大内存值,则将所述目标内存值确定为所述应用在下次运行时需要被分配的目标内存值;若所述应用在当次运行时被分配的目标内存值小于所述最大内存值,则将所述最大内存值确定为所述应用在下次运行时需要被分配的目标内存值。...

【专利技术属性】
技术研发人员:师会军
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1