应用内存优化方法、装置、终端设备及可读存储介质制造方法及图纸

技术编号:24682470 阅读:28 留言:0更新日期:2020-06-27 07:44
本申请提供一种应用内存优化方法、装置、终端设备及可读存储介质,涉及内存资源回收领域。本申请在对目标应用程序的每个应用进程进行内存资源回收处理时,通过对该应用进程的内存资源占用量进行查询,并根据查询到的内存资源占用量数据计算对应的内存占用压力值,而后判断该内存占用压力值是否位于与该应用进程对应的待优化压力值范围内,并在判定该内存占用压力值位于待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至内存占用压力值位于待优化压力值范围之外,从而在合适时机对应用程序的进程进行内存资源回收,确保应用程序得以长久地持续运行,并降低终端设备出现卡顿及黑屏等现象的可能性,提高用户体验。

Application memory optimization methods, devices, terminal devices and readable storage media

【技术实现步骤摘要】
应用内存优化方法、装置、终端设备及可读存储介质
本申请涉及内存资源回收领域,具体而言,涉及一种应用内存优化方法、装置、终端设备及可读存储介质。
技术介绍
随着科学技术的不断发展,智能手机、平板电脑等终端设备逐渐成为人们日常生活中经常使用的电子设备,而终端设备通常可以安装多个应用程序,并在需要同时运行大量应用程序时,通过将各应用程序的数据缓存在内存中,提高对数据进行读写操作的速度。但就实际而言,终端设备的内存资源数量是有限的,目前市面上的应用程序大多数是不注重对所占用内存资源的分配及回收,无法长久运行,通常会导致终端设备向目标应用程序提供的虚拟内存资源或物理内存资源无法得到合适的分配及回收,容易致使终端设备因留给自身系统运行的内存资源存在不足,或者应用程序所占用内存资源超过系统分配资源的阈值,而出现运行卡顿、黑屏现象,并通过运行GC(GabageCollection,垃圾回收)机制将对应应用程序杀死的方式来回收内存资源。
技术实现思路
有鉴于此,本申请的目的在于提供一种应用内存优化方法、装置、终端设备和可读存储介质,其能够在合适时机对应用程序的进程进行内存资源回收,确保应用程序得以长久地持续运行,并降低终端设备出现卡顿及黑屏等现象的可能性,提高用户体验。为了实现上述目的,本申请实施例采用的技术方案如下:第一方面,本申请实施例提供一种应用内存优化方法,应用于终端设备,所述方法包括:针对在所述终端设备上运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;<br>根据查询到的内存资源占用量计算该应用进程的内存占用压力值,其中所述内存占用压力值用于表示对应应用进程的内存资源占用量给终端设备运行造成的压力状况;判断所述内存占用压力值是否位于与该应用进程对应的待优化压力值范围内;当判定所述内存占用压力值位于所述待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至所述内存占用压力值位于所述待优化压力值范围之外。第二方面,本申请实施例提供一种应用内存优化装置,应用于终端设备,所述装置包括:内存占用查询模块,用于针对在所述终端设备运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;内存压力计算模块,用于根据查询到的内存资源占用量计算该应用进程的内存占用压力值,其中所述内存占用压力值用于表示对应应用进程的内存资源占用量给终端设备运行造成的压力状况;内存优化判断模块,用于判断所述内存占用压力值是否位于与该应用进程对应的待优化压力值范围内;内存资源优化模块,用于在判定所述内存占用压力值位于所述待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至所述内存占用压力值位于所述待优化压力值范围之外。第三方面,本申请实施例提供一种终端设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令,以实现前述实施方式所述的应用内存优化方法。第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现前述实施方式所述的应用内存优化方法。相对于
技术介绍
而言,本申请具有以下有益效果:本申请在对目标应用程序所对应的每个应用进程进行处理时,通过对该应用进程的内存资源占用量进行查询,并根据查询到的内存资源占用量数据计算该应用进程的内存占用压力值,而后判断该内存占用压力值是否位于与该应用进程对应的待优化压力值范围内,并在判定该内存占用压力值位于待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至对应的内存占用压力值位于该待优化压力值范围之外,从而在合适时机对应用程序的进程进行内存资源回收,确保应用程序得以长久地持续运行,并降低终端设备出现卡顿及黑屏等现象的可能性,提高用户体验。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的终端设备的结构组成示意图;图2为本申请实施例提供的应用内存优化方法的流程示意图;图3为图2中的步骤S220包括的子步骤的流程示意图;图4为图2中的步骤S240包括的子步骤的流程示意图之一;图5为图4中的子步骤S244包括的子步骤的流程示意图之一;图6为图4中的子步骤S244包括的子步骤的流程示意图之二;图7为图4中的子步骤S244包括的子步骤的流程示意图之三;图8为图4中的子步骤S245包括的子步骤的流程示意图之一;图9为图4中的子步骤S245包括的子步骤的流程示意图之二;图10为图4中的子步骤S245包括的子步骤的流程示意图之三;图11为图2中的步骤S240包括的子步骤的流程示意图之二;图12为图11中的子步骤S247包括的子步骤的流程示意图之一;图13为图11中的子步骤S247包括的子步骤的流程示意图之二;图14为本申请实施例提供的应用内存优化装置的功能模块示意图。图标:10-终端设备;11-存储器;12-处理器;13-通信单元;100-应用内存优化装置;110-内存占用查询模块;120-内存压力计算模块;130-内存优化判断模块;140-内存资源优化模块。具体实施方式下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。请参照图1,图1是本申请实施例提供的终端设备10的结构组成示意图。在本申请实施例中,所述终端设备10可本文档来自技高网
...

【技术保护点】
1.一种应用内存优化方法,其特征在于,应用于终端设备,所述方法包括:/n针对在所述终端设备上运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;/n根据查询到的内存资源占用量计算该应用进程的内存占用压力值,其中所述内存占用压力值用于表示对应应用进程的内存资源占用量给终端设备运行造成的压力状况;/n判断所述内存占用压力值是否位于与该应用进程对应的待优化压力值范围内;/n当判定所述内存占用压力值位于所述待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至所述内存占用压力值位于所述待优化压力值范围之外。/n

【技术特征摘要】
1.一种应用内存优化方法,其特征在于,应用于终端设备,所述方法包括:
针对在所述终端设备上运行的与目标应用程序对应的每个应用进程,查询该应用进程对应的内存资源占用量;
根据查询到的内存资源占用量计算该应用进程的内存占用压力值,其中所述内存占用压力值用于表示对应应用进程的内存资源占用量给终端设备运行造成的压力状况;
判断所述内存占用压力值是否位于与该应用进程对应的待优化压力值范围内;
当判定所述内存占用压力值位于所述待优化压力值范围内时,对该应用进程所占用的内存资源进行内存释放,直至所述内存占用压力值位于所述待优化压力值范围之外。


2.根据权利要求1所述的方法,其特征在于,所述内存资源占用量包括对应应用进程下的第一功能模块的物理内存占用量以及第二功能模块的虚拟内存占用量,其中同一应用进程下的第二功能模块多于第一功能模块,所述第一功能模块由对应应用进程按照第一模块划分方式划分得到,所述第二功能模块由对应应用进程按照第二模块划分方式划分得到;
所述根据查询到的内存资源占用量计算该应用进程的内存占用压力值,包括:
在该应用进程下的所有第二功能模块的虚拟内存占用量中,提取出与预设重要模块对应的目标内存占用量;
分别计算该应用进程下的每个第一功能模块的物理内存占用量与物理内存预设量之间的差值、每个第二功能模块的虚拟内存占用量与虚拟内存预设量之间的差值,以及每个预设重要模块的目标内存占用量与目标内存预设量之间的差值,得到每个第一功能模块的第一内存量差值、每个第二功能模块的第二内存量差值以及每个预设重要模块的第三内存量差值;
根据该应用进程下的每个第一功能模块的第一预设加权值,对该应用进程下的所有第一内存量差值进行加权求和运算,得到与该应用进程对应的物理内存压力值;
根据该应用进程下的每个第二功能模块的第二预设加权值及每个预设重要模块的第三预设加权值,对该应用进程下的所有第二内存量才差值及所有第三内存量差值进行加权求和运算,得到与该应用进程对应的虚拟内存压力值;
对与该应用进程对应的物理内存压力值及虚拟内存压力值进行求和运算,得到该应用进程的内存占用压力值。


3.根据权利要求2所述的方法,其特征在于,所述待优化压力值范围包括第一压力值范围,所述对该应用进程所占用的内存资源进行内存释放,包括:
检测所述内存占用压力值是否处于所述第一压力值范围内;
当检测到所述内存占用压力值处于所述第一压力值范围内时,判断所述物理内存压力值是否不小于预设物理压力阈值,并判断所述虚拟内存压力值是否不小于预设虚拟压力阈值;
若判定所述物理内存压力值不小于所述预设物理压力阈值,则获取针对物理内存资源的与该应用进程对应的第一优化策略,并按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放;
若判定所述虚拟内存压力值不小于所述预设虚拟压力阈值,则获取针对虚拟内存资源的与该应用进程对应的第二优化策略,并按照所述第二优化策略对该应用进程所占用的虚拟内存资源进行内存释放。


4.根据权利要求3所述的方法,其特征在于,所述按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放,包括:
根据终端设备的物理内存剩余量,确定所述终端设备的物理内存紧缺等级,并确定该应用进程的与所述物理内存紧缺等级匹配的物理内存释放量;
将所述物理内存释放量平摊到该应用进程下的第一内存量差值为正数的第一功能模块上进行物理内存释放。


5.根据权利要求3所述的方法,其特征在于,所述按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放,包括:
在该应用进程下的所有第一内存量差值为正数的第一功能模块中选取至少一个目标第一功能模块;
针对每个目标第一功能模块,按照该目标第一功能模块对应的第一内存量差值对该目标第一功能模块进行物理内存释放。


6.根据权利要求3所述的方法,其特征在于,所述按照所述第一优化策略对该应用进程所占用的物理内存资源进行内存释放,包括:
根据终端设备的物理内存剩余量,确定所述终端设备的物理内存紧缺等级,并确定该应用进程的与所述物理内存紧缺等级匹配的物理内存释放量;
对该应用进程下的所有第一内存量差值为正数的第一功能模块按照从弱到强的顺序进行重要度排序,得到对应的物理重要度排序结果;
依次对所述物理重要度排序结果所记录的每个第一功能模块按...

【专利技术属性】
技术研发人员:谈海青
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:广东;44

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

1