内存优化方法、系统、设备以及存储介质与流程

未命名 09-20 阅读:93 评论:0


1.本公开涉及数据存储领域,尤其涉及一种内存优化方法、系统、设备以及存储介质。


背景技术:

2.由于设备的内存的容量是有限的,为保证设备能够发挥正常性能,一般会在内存中为操作系统预留一定的容量,其他待启动应用程序不得占用。因此,在多个待启动应用程序同时运行的情况下,用户开启新的待启动应用程序,若开启后的内存压力过大则会导致将正在运行的待启动应用程序的进程强行终止,即产生闪退的现象,导致用户的体验不佳。


技术实现要素:

3.本公开要解决的问题是为了克服现有技术中由于内存压力导致新开启的用程序迫使其他待启动应用程序闪退的缺陷,提供一种内存优化方法、系统、设备以及存储介质。
4.本公开是通过下述技术方案来解决上述技术问题:
5.本公开提供一种内存优化方法,所述内存优化方法包括:
6.响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力;
7.根据所述内存压力的状况,调节所述内存的查杀水线值。
8.较佳地,所述响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力,包括:
9.响应于所述待启动应用程序的启动请求,确定所述待启动应用程序启动后所有运行的应用程序在所述内存的占用容量;
10.响应于所述占用容量大于占用容量阈值,确定所述内存产生内存压力。
11.较佳地,所述根据所述内存压力的状况,调节所述内存的查杀水线值,包括:
12.当所述内存产生内存压力,下调所述查杀水线值。
13.较佳地,所述根据所述内存压力的状况,调节所述内存的查杀水线值,包括:
14.当所述内存产生内存压力,终止符合预设终止条件的进程以释放内存;
15.响应于所述释放内存完成后,确定所述内存是否处于所述内存压力;
16.当所述内存产生内存压力,下调所述查杀水线值。
17.较佳地,所述当所述内存产生内存压力,下调所述查杀水线值,包括:
18.根据所述占用容量与占用容量阈值的差值,确定不足容量;
19.根据所述不足容量下调所述查杀水线值。
20.较佳地,所述根据所述不足容量下调所述查杀水线值,包括:
21.确定操作系统所需要内存的底线容量;
22.根据所述查杀水线值与所述底线容量的差值确定可释放容量;
23.响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足
容量的差值作为新的所述查杀水线值。
24.较佳地,所述响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值的步骤之前,还包括:根据所有运行中进程的优先级顺序终止进程,以使所述不足容量小于或等于所述可释放容量;
25.和/或,
26.所述响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值的步骤之后,还包括:响应于所述待启动应用程序终止后,将所述查杀水线值恢复至所述调节所述内存的查杀水线值的步骤之前的状态。
27.本公开还提供一种内存优化系统,所述内存优化系统包括:
28.确定模块,用于响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力;
29.调节模块,用于根据所述内存压力的状况,调节所述内存的查杀水线值。
30.较佳地,所述调节模块,具体用于:
31.响应于所述待启动应用程序的启动请求,确定所述待启动应用程序启动后所有运行的应用程序在所述内存的占用容量;
32.响应于所述占用容量大于占用容量阈值,确定所述内存产生内存压力。
33.较佳地,所述调节模块,具体用于:
34.当所述内存产生内存压力,下调所述查杀水线值。
35.较佳地,所述调节模块,具体用于:
36.当所述内存产生内存压力,终止符合预设终止条件的进程以释放内存;
37.响应于所述释放内存完成后,确定所述内存是否处于所述内存压力;
38.当所述内存产生内存压力,下调所述查杀水线值。
39.较佳地,所述调节模块,具体用于:
40.根据所述占用容量与占用容量阈值的差值,确定不足容量;
41.根据所述不足容量下调所述查杀水线值。
42.较佳地,所述调节模块,具体用于:
43.确定操作系统所需要内存的底线容量;
44.根据所述查杀水线值与所述底线容量的差值确定可释放容量;
45.响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值。
46.较佳地,所述调节模块,具体用于:在所述响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值的步骤之前,根据所有运行中进程的优先级顺序终止进程,以使所述不足容量小于或等于所述可释放容量;
47.和/或,
48.在所述响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值的步骤之后,响应于所述待启动应用程序终止后,将所述查杀水线值恢复至所述调节所述内存的查杀水线值的步骤之前的状态。
49.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并用于在处
理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的内存优化方法。
50.本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述的内存优化方法。
51.本公开还提供一种芯片,所述芯片上存储有计算机程序,所述计算机程序被所述芯片执行时,实现如上述的内存优化方法。
52.本公开还提供一种芯片模组,应用于电子设备,包括收发组件和芯片,所述芯片,用于执行如上述的内存优化方法。
53.在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本公开各较佳实例。
54.本公开的积极进步效果在于:通过响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力,以调节所述内存的查杀水线值。可以实现查杀水线值的浮动设定,在保证操作系统内存容量足够的前提下,防止由于待启动应用程序启动导致的其他待启动应用程序被强行终止,而造成的其他待启动应用程序的闪退或者卡顿造成用户的不良使用体验。
附图说明
55.图1为本公开一示例性实施例提供的一种内存优化方法的流程图;
56.图2为本公开一示例性实施例提供的另一种内存优化方法的流程图;
57.图3为本公开一示例性实施例提供的另一种内存优化方法的流程图;
58.图4为本公开一示例性实施例提供的一种内存优化系统的模块示意图;
59.图5为本公开一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
60.下面通过实施例的方式进一步说明本公开,但并不因此将本公开限制在所述的实施例范围之中。
61.本公开应用于终端设备,例如手机、平板电脑、车联网、pos机等的内存优化。应当理解的是,本公开中所涉及的终端设备至少包含内存、操作系统以及待启动应用程序。由于终端设备中的内存的额定内存总量(本公开示例为操作系统以及待启动应用程序所使用的内存总量)是一定的,为了保证操作系统的正常运行,一般会分配一定容量的内存仅供操作系统使用,其余的内存容量可供其他待启动应用程序使用,因此对于操作系统的可使用容量以及待启动应用程序的可使用容量一般情况下是限定在一个数值范围之内的。同时,为了优先保证操作系统的正常运行,为操作系统设定查杀水线值,即当所有待启动应用程序所占用的内存容量过多,为了避免对待启动应用程序对操作系统造成挤压,当待启动应用程序的运行导致操作系统的可使用容量小于该查杀水线值时,就会开启对待启动应用程序的进程的终止动作。为了更好地兼顾操作系统以及待启动应用程序,本公开可根据具体情况对该查杀水线值进行调节。例如,当所有待启动应用程序所占用的内存容量过多时,可根据具体内存的占用状况调整查杀水线值以使在保证操作系统由足够可使用容量的前提下,保证待启动应用程序能够正常启动,以及保证当前运行中的应用程序的进程不被终止。
62.实施例1
63.图1为本公开一示例性实施例提供的一种内存优化方法的流程图,该内存优化方法包括:
64.步骤101、响应于待启动应用程序的启动请求,确定待启动应用程序启动后内存是否会产生内存压力。
65.在本步骤中,当终端设备需要启动待启动应用程序时,即触发本步骤的执行,具体而言,当监测到待启动应用程序的启动请求时,确定该待启动应用程序启动后内存是否会产生内存压力。其中,内存压力是内存不足的一种状态。另外,本步骤中确定待启动应用程序启动后内存是否会产生内存压力,是对假定该待启动应用程序启动后是否会产生内存压力的预算。
66.其中,关于判定内存是否产生内存压力的方式包括以下至少一种:一种判定方式为,当前内存虽然还有未使用的内存容量,但是当前运行中的应用程序的对内存的占用容量大于占用容量阈值,则判定内存产生内存压力,例如,内存的额定内存总量为800m,此时操作系统被分配300m,剩余的500m可供待启动应用程序使用,将其中的400m定义为占用容量阈值,此时若所有运行中的应用程序对内存的占有容量超过400m,则判定内存产生内存压力;还有一种判定方式为,当前内存虽然还有未使用的内存容量,但是需要启动一个待启动应用程序,当计算该待启动应用程序启动后所占用的内存容量以及当前正在运行的应用程序的占用容量之和大于内存的额定内存总量,则判定内存产生内存压力,例如,内存的额定内存总量为800m,此时操作系统被分配300m,剩余的500m可供待启动应用程序使用,此时所有运行的待启动应用程序占用400m的容量,当要启动一个需要占用200m的待启动应用程序时,待启动应用程序的500m就会不足,此时就可以确定待启动应用程序启动后内存产生内存压力;还有一种判定方式为,若当前内存虽然还有未使用的内存容量,但是需要启动一个待启动应用程序,当计算该待启动应用程序启动后剩余内存的容量小于剩余容量阈值,或者当前(待启动应用程序启动之前)未使用的内存容量小于该待启动应用程序启动后所占用的内存容量,则判定内存产生内存压力。例如,内存的额定内存总量为800m,此时操作系统被分配300m,剩余的500m可供待启动应用程序使用,当启动一个待启动应用程序后当前所有正在运行的应用程序占用400m的容量,此时剩余内存的容量为100m,若剩余容量阈值为300m,则此时就可以确定待启动应用程序启动后内存产生内存压力。或者,例如,内存的额定内存总量为800m,此时操作系统被分配300m,剩余的500m可供待启动应用程序使用,当前所有正在运行的应用程序占用400m的容量,当前未使用的内存容量仅为100m,即当前(待启动应用程序启动之前)未使用的内存容量小于该待启动应用程序启动后所占用的内存容量若需要启动一个占用内存为200m待启动应用程序,则此时就可以确定待启动应用程序启动后内存产生内存压力。应当理解的是,以上判定方式可根据实际需要任意组合。
67.一般情况下,触发内存压力的待启动应用程序为大内存应用程序。对于该大内存应用程序的判定方法,可选地有两种方式:一种是直接根据待启动应用程序所需要占用的内存容量来确定,若需要占用的内存容量超过大内存基准值,则将待启动应用程序视为大内存应用程序;另一种是根据该待启动应用程序的历史数据进行学习,该历史数据包括但不限于,该应用程序打开的时间戳,内存占用状况,内存剩余状况,以及大内存应用程序的判定结果,利用历史数据训练出预测模型,当该待启动应用程序启动时,根据预测模型对该待启动应用程序是否属于大内存应用程序进行判定。
68.应当理解的是,上述对于判定内存是否产生内存压力的方式可根据实际需要进行调整,占用容量阈值可根据实际需要进行设定。在一个具体实施例中,关于占用容量阈值的设定可根据额定内存总量以及查杀水线值确定,例如,额定内存总量为800m,查杀水线值为300m,则占用容量阈值可选地为小于或等于500m。进一步的,为了限制应用程序的占用容量,可将占用容量阈值尽量调小,例如取500m的80%(即400m)作为占用容量阈值,或者剥夺其中100m的仅保留400m作为应用程序的可使用容量,则占用容量阈值被设定为400m。反之,若需要宽松化处理,则可将上述的80%提高或者将上述的100m调低,用该理解的是,上述的80%或者100m仅仅是为说明而举的一个示例,本实施例的所有参数不局限于上述的具体数值。另外,在本步骤中的待启动应用程序数量可以为至少一个。
69.因此,可选地,参见图2可知步骤101具体包括如下步骤:
70.步骤1011、响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后所有运行的应用程序在所述内存的占用容量。其中,运行的应用程序包括待启动的应用程序以及当前正在运行中的应用程序。
71.在本步骤中,由于是对开启待启动应用程序后的内存进行判断内存是否会产生内存压力,所以需要对占用容量进行一个预算,该预算为假定该待启动应用程序启动后,所有运行的应用程序在内存的占用容量。
72.步骤1012、响应于占用容量大于占用容量阈值,确定内存产生内存压力。
73.在本步骤中,利用在步骤1011所预算获得的占用容量与占用容量阈值进行比较,即可确定内存是否会产生内存压力。应当理解的是,占用容量阈值是为了将待启动应用程序对内存的占用率保持在一个合理范围而设定的值,可以根据实际需要进行调整。
74.步骤102、根据内存压力的状况,调节内存的查杀水线值。
75.在本步骤中,根据内存压力的状况对查杀水线值进行调整,可选地,参见图3可知具体包括:
76.步骤1021、当所述内存产生内存压力,下调查杀水线值。
77.在本步骤中,当内存产生内存压力就下调查杀水线值,可以为待启动应用程序的开启释放出容量,可以减少由于查杀水位线的存在而导致的待启动应用程序无法打开,或者由于待启动应用程序的打开而导致其他待启动应用程序被终止的发生,避免用户的不良体验。
78.应当理解的是,除了上述的下调查杀水线值以外,还可以上调查杀水线值。应当理解的是,下调查杀水线值是在保全操作系统有足够的内存容量的前提下,尽量下调查杀水线值以使应用程序可占用更多的内存空间。但是,有时候需要优先保证操作系统的足够容量,让操作系统能够占用更多的内存空间以保证操作系统顺畅的运行,即使会造成应用程序可使用的内存空间被压缩。例如当前用户正在利用手机玩游戏,为了保证游戏的顺畅进行,需要为操作系统保留充足的内存容量,以供cpu进行计算,此时就会上调查杀水线值,以保证除了游戏应用程序以外的其他应用程序对内存的占用。还例如,类似于视频播放设备(例如电视)这种功能比较集中的设备,视频播放设备的主要功能是视频播放,并不需要维持大量的后台进程数量,因此当需要对视频画质进行画质增强时,需要优先保证该画质增强时的内存占用,基于上述理由也会上调查杀水线值。应当理解的是,当任意设备集中于某一功能或者具有单一功能的设备执行其主要功能时,都适用于上述上调查杀水线值的方
法,并不局限于上述手机玩游戏以及视频播放设备的应用场景。上调查杀水线值与下调查杀水线值的执行逻辑相反,是优先保证操作系统有足够空间的方法,可保证操作系统能够针对部分应用程序的顺畅运行。
79.可选地,在步骤1021之前还包括:
80.步骤1022、响应于确定内存产生内存压力,终止符合预设终止条件的进程以释放内存。
81.在本步骤中,预设终止条件为预先设定的终止进程的条件,例如处于停滞状态的进程、非用户使用中且后台运行的进程、或者非必要的进程,其中非必要的进程跟根据实际需要对进程进行优先级评级和/或标记,标记为不必要的进程直接被定义为非必要进程,优先级评级低于预设级别的也会被定义为非必要。应该理解的是应用程序运行时,包含至少一个与该应用程序相对应的进程。
82.步骤1023、释放内存完成后,确定所述内存是否处于所述内存压力。
83.步骤1022和步骤1023是在执行步骤1021之前提前释放内存,以保证在执行步骤1021时减少下调查杀水线值的幅度,尽可能的保证操作系统的查杀水线值保持在相对较高的位置,可以减少由于查杀水位线的存在而导致的待启动应用程序无法打开,或者由于待启动应用程序的打开而导致其他待启动应用程序被终止的发生的同时,能够保证操作系统有足够的内存使用,避免提升用户的体验。
84.在本步骤中,内存产生下调查杀水线值之前,先释放部分内存,也即为待启动的待启动应用程序的开启释放出容量,可以减少由于查杀水位线的存在而导致的待启动应用程序无法打开,或者由于待启动应用程序的启动而导致当前运行中的应用程序被终止的发生,避免用户的不良体验。
85.在一个实施例中,关于步骤1021响应于确定内存产生内存压力,当所有运行的应用程序在内存的占用容量大于容量阈值时,下调查杀水线值的具体方法包括:根据占用容量与占用容量阈值的差值,确定不足容量;根据不足容量下调查杀水线值。其中,根据不足容量下调查杀水线值,包括:确定操作系统所需要内存的底线容量;根据查杀水线值与底线容量的差值确定可释放容量;响应于不足容量小于或等于可释放容量,将查杀水线值与不足容量的差值作为新的查杀水线值。
86.另外,关于底线容量在本公开中的作用是保证操作系统运行所需要的内存容量,底线容量与查杀水线值的关系是,查杀水线值一般是高于底线容量的,例如查杀水线值为操作系统划定了500m的内存容量,在实际运行场景当中,系统运行所实际占用的内存容量的峰值有可能不会超过400m,之所以多划定了100m是为了保证操作系统运行处于最优状态,以随时应对突然增加的计算任务而多分配的内存容量。其中,400m就可认为是操作系统运行的底线容量。应当理解的是,操作系统的底线容量可根据操作系统的所实际占用内存容量的历史数据统计获得,或者通过实时计算当前内存容量获得。在一个具体实施例中,关于底线容量的设定,还可以根据cpu的使用情况进行调整,例如当cpu的使用率超过cpu的使用率阈值,和/或,单位时间内的cpu的读/写数据(i/o)超过cpu的读写数据阈值,则认定cpu处于繁忙状态,因此需要将底线容量调高。应当理解的是,可根据实际需要将cpu的繁忙状态分级,以对应不同的调整范围或者调整比例。
87.为说明上述步骤,在此举一个具体示例:例如内存的额定内存总量为800m,此时操
作系统被分配300m,即查杀水线值为300m;剩余的500m可供待启动应用程序使用,即占用容量阈值为500m,此时所有运行的待启动应用程序占用400m的容量,当要另外启动一个需要占用200m内存的待启动应用程序时,待启动应用程序需要占用内存容量为600m超过了占用容量阈值500m,因此,不足容量为100m;当确定操作系统所需要内存的底线容量为150m时,相对于查杀水线值为300m而言,有150m的可释放容量,该可释放容量可满足该不足容量,因此,此时的查杀水线值为300m可以下降到200m,释放出100m容量供待启动应用程序使用,既满足了操作系统的可使用内存足够,又满足了待启动应用程序的开启。
88.可选地,响应于不足容量小于或等于可释放容量,将查杀水线值与不足容量的差值作为新的查杀水线值的步骤之前,还包括步骤:根据所有运行中进程的优先级顺序终止进程,以使不足容量小于或等于可释放容量。
89.在本步骤中,为了使待启动应用程序可以顺利的开启,可以进一步的释放内存,具体方法为根据所有运行中进程的优先级顺序终止进程。关于优先级的制定,可以根据实际需要进行调整,例如,有些进程是后台运行,或者该进程已经不是用户当前正在使用的待启动应用程序的进程,即便是终止这些进程也不会影响用户当前的使用体验,因此这些进程的优先级可以被认定为低优先级。当前用户正在使用的待启动应用程序的进程,将被认定为高优先级。在终止进程的过程中优先保留高优先级的进程,以免给用户带来类似于“闪退”、“卡顿”的不良体验;或者,可以根据不足容量与可释放容量的差值确定优先级别,具体而言,先计算不足容量与可释放容量的差值,将所有进程的占用容量与该差值进行比较,若占用容量与该差值之间的差距越接近则该进程的优先级越低,反之越高,优先级越低的进程将在释放内存时优先被释放掉,以保证终止最少的进程而满足不足内存,例如,当不足容量为200m,可释放容量为100m,此时需要提前释放100m的内存,若此时有110m和200m的进程在运行,则110m的优先级低于200m的优先级,因此会优先将优先级较低的110m的进程终止,以释放110m的内存容量。应当理解的是,对于优先级的制定不局限于上述的低优先级以及高优先级,可根据实际需要调整优先级的层级数量,或者制定对优先级进行量化的计算方法,以确定所有进程的优先级顺序。
90.可选地,响应于不足容量小于或等于可释放容量,将查杀水线值与不足容量的差值作为新的查杀水线值的步骤之后,还包括步骤:响应于待启动应用程序终止后,将查杀水线值恢复至调节内存的查杀水线值的步骤之前的状态。
91.在本步骤中,当待启动应用程序终止后需要将查杀水线值恢复至查杀水位线调整之前的状态,例如,当为了保证一个待启动应用程序的正常开启,查杀水位线下调了100m,当该待启动应用程序终止后,查杀水位线会上调100m以恢复至调整之前的状态。
92.应当理解的是,本实施例中的额定内存总量作为示例性实施例为操作系统以及待启动应用程序所使用的内存总量。实际上,额定内存总量并不限于仅为操作系统以及待启动应用程序,对于其他使用内存的使用对象可将该使用对象与操作系统或者与待启动应用程序作为整体看待,同样适用本实施例中的内存优化方法。
93.通过上述步骤,可以实现查杀水线值的浮动设定,在保证操作系统内存容量足够的前提下,防止由于待启动应用程序启动导致的其他待启动应用程序被强行终止,而造成的其他待启动应用程序的闪退或者卡顿造成用户的不良使用体验。
94.实施例2
95.图4为本公开一示例性实施例提供的一种内存优化系统的模块示意图,该内存优化系统,对应于实施例1中的内存优化方法。该内存优化系统包括:
96.确定模块21,用于响应于待启动应用程序的启动请求,确定待启动应用程序启动后内存是否会产生内存压力;
97.调节模块22,用于根据内存压力的状况,调节内存的查杀水线值。
98.较佳地,调节模块22,具体用于:
99.响应于待启动应用程序的启动请求,确定待启动应用程序启动后所有运行的应用程序在内存的占用容量;
100.响应于占用容量大于占用容量阈值,确定内存产生内存压力。
101.较佳地,调节模块22,具体用于:
102.当内存产生内存压力,下调查杀水线值。
103.较佳地,调节模块22,具体用于:
104.当内存产生内存压力,终止符合预设终止条件的进程以释放内存;
105.响应于释放内存完成后,确定待启动应用程序启动后所有运行的应用程序在内存的占用容量,以确定内存是否处于内存压力;
106.当内存产生内存压力,下调查杀水线值。
107.较佳地,调节模块22,具体用于:
108.根据占用容量与占用容量阈值的差值,确定不足容量;
109.根据不足容量下调查杀水线值。
110.较佳地,调节模块22,具体用于:
111.确定操作系统所需要内存的底线容量;
112.根据查杀水线值与底线容量的差值确定可释放容量;
113.响应于不足容量小于或等于可释放容量,将查杀水线值与不足容量的差值作为新的查杀水线值。
114.较佳地,调节模块22,具体用于:在响应于不足容量小于或等于可释放容量,将查杀水线值与不足容量的差值作为新的查杀水线值的步骤之前,根据所有运行中进程的优先级顺序终止进程,以使不足容量小于或等于可释放容量;
115.和/或,
116.在响应于不足容量小于或等于可释放容量,将查杀水线值与不足容量的差值作为新的查杀水线值的步骤之后,响应于待启动应用程序终止后,将查杀水线值恢复至调节内存的查杀水线值的步骤之前的状态。
117.通过上述系统,可以实现查杀水线值的浮动设定,在保证操作系统内存容量足够的前提下,防止由于待启动应用程序启动导致的其他待启动应用程序被强行终止,而造成的其他待启动应用程序的闪退或者卡顿造成用户的不良使用体验。
118.实施例3
119.图5为本实施例提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例提供的内存优化方法。图5显示的电子设备300仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
120.参照图5,电子设备300可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备300的组件可以包括但不限于:上述至少一个处理器301、上述至少一个存储器302、连接不同系统组件(包括存储器302和处理器301)的总线303。
121.总线303包括数据总线、地址总线和控制总线。
122.存储器302可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
123.存储器302还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个待启动应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
124.处理器301通过运行存储在存储器302中的计算机程序,从而执行各种功能应用以及数据处理,例如本公开实施例的内存优化方法。
125.电子设备300也可以与一个或多个外部设备304(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口305进行。并且,模型生成的设备300还可以通过网络适配器306与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器306通过总线303与模型生成的设备300的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
126.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
127.实施例4
128.本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的内存优化方法。
129.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
130.在可能的实施方式中,本公开还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备设备上运行时,所述程序代码用于使所述终端设备设备执行实现上述任一实施例提供的内存优化方法。
131.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
132.虽然以上描述了本公开的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本公开的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本公开的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本公开的保护范围。

技术特征:
1.一种内存优化方法,其特征在于,所述内存优化方法包括:响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力;根据所述内存压力的状况,调节所述内存的查杀水线值。2.根据权利要求1所述的内存优化方法,其特征在于,所述响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力,包括:响应于所述待启动应用程序的启动请求,确定所述待启动应用程序启动后所有运行的应用程序在所述内存的占用容量;响应于所述占用容量大于占用容量阈值,确定所述内存产生内存压力。3.根据权利要求2所述的内存优化方法,其特征在于,所述根据所述内存压力的状况,调节所述内存的查杀水线值,包括:当所述内存产生内存压力,下调所述查杀水线值。4.根据权利要求2所述的内存优化方法,其特征在于,所述根据所述内存压力的状况,调节所述内存的查杀水线值,包括:当所述内存产生内存压力,终止符合预设终止条件的进程以释放内存;响应于所述释放内存完成后,确定所述内存是否处于所述内存压力;当所述内存产生内存压力,下调所述查杀水线值。5.根据权利要求3或4所述的内存优化方法,其特征在于,所述当所述内存产生内存压力,下调所述查杀水线值,包括:根据所述占用容量与占用容量阈值的差值,确定不足容量;根据所述不足容量下调所述查杀水线值。6.根据权利要求5所述的内存优化方法,其特征在于,所述根据所述不足容量下调所述查杀水线值,包括:确定操作系统所需要内存的底线容量;根据所述查杀水线值与所述底线容量的差值确定可释放容量;响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值。7.根据权利要求6所述的内存优化方法,其特征在于,所述响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值的步骤之前,还包括:根据所有运行中进程的优先级顺序终止进程,以使所述不足容量小于或等于所述可释放容量;和/或,所述响应于所述不足容量小于或等于所述可释放容量,将所述查杀水线值与所述不足容量的差值作为新的所述查杀水线值的步骤之后,还包括:响应于所述待启动应用程序终止后,将所述查杀水线值恢复至所述调节所述内存的查杀水线值的步骤之前的状态。8.一种内存优化系统,其特征在于,所述内存优化系统包括:确定模块,用于响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力;调节模块,用于根据所述内存压力的状况,调节所述内存的查杀水线值。
9.一种电子设备,包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,其特征在于,所述处理器执行计算机程序时实现权利要求1-7中任一项所述的内存优化方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现权利要求1-7中任一项所述的内存优化方法。

技术总结
本公开为一种内存优化方法、系统、设备以及存储介质,所述内存优化方法包括:响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力;根据所述内存压力的状况,动态调节所述内存的查杀水线值。本公开通过响应于待启动应用程序的启动请求,确定所述待启动应用程序启动后内存是否会产生内存压力,以调节所述内存的查杀水线值。可以实现查杀水线值的浮动设定,在保证操作系统内存容量足够的前提下,防止由于待启动应用程序启动导致的其他待启动应用程序被强行终止,而造成的其他待启动应用程序的闪退或者卡顿造成用户的不良使用体验。顿造成用户的不良使用体验。顿造成用户的不良使用体验。


技术研发人员:高丕超
受保护的技术使用者:展讯通信(上海)有限公司
技术研发日:2023.06.28
技术公布日:2023/9/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐