一种内存释放方法、装置、设备、存储介质及程序产品与流程

文档序号:29048300发布日期:2022-02-25 22:54阅读:162来源:国知局
一种内存释放方法、装置、设备、存储介质及程序产品与流程

1.本发明涉及内存管理技术领域,特别涉及一种内存释放方法、装置、设备、存储介质及程序产品。


背景技术:

2.先进交互运行(advanced interactive executive,aix)系统是ibm基于at&t unix system v开发的一套类unix操作系统,每台aix系统主机会有大量作业任务,占用大量的内存处理工作。由于aix系统认为部署在系统上的应用程序是相对稳定的,因此在应用程序申请释放内存后不会立即释放内存,以便在下次使用该文件时可以快速读取,从而减少磁盘读写消耗,提高性能。但也因此造成内存的严重浪费,导致系统的内存使用率会很高,容易触发内存容量告警。
3.现有技术中,由于aix系统主机的任务完成后无法自动在第一时间释放应用程序所占用的内存资源,且系统无法及时了解到内存的占用程度,因此根据任务占用内存的需要,可能需要重启aix系统主机来释放内存资源。但是重启系统耗时较长,且需要终止系统内所有任务的执行,难以满足用户使用需求。
4.或者,另外一种方案是在每次调用内存释放函数之后,再显式地调用针对aix系统内存延迟释放机制的缓存释放函数,以使得内存真正被释放掉,从而降低内存使用率,避免告警。但是通过调用缓存释放函数真正释放内存的过程运行较慢,如果频繁调用该缓存释放函数会使得系统运行缓慢,性能下降。


技术实现要素:

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.获取所述预设倍率参数,所述预设倍率参数小于1;
32.将所述预设倍率参数与所述当前释放阈值相乘,得到调整后的释放阈值。
33.本发明另一方面提供一种内存释放装置,包括:
34.内存占用信息获取模块,用于获取目标进程的内存占用信息;
35.当前释放阈值获取模块,用于获取所述目标进程对应的当前释放阈值;
36.判断模块,用于根据所述内存占用信息和所述当前释放阈值判断是否满足内存释放条件;
37.内存释放量确定模块,用于当满足内存释放条件时,根据所述当前释放阈值确定内存释放量;
38.内存释放模块,用于基于所述内存释放量对所述目标进程占用的内存进行释放。
39.本发明另一方面提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的内存释放方法。
40.本发明另一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的内存释放方法。
41.本发明另一方面提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述的内存释放方法的步骤。
42.由于上述技术方案,本发明具有以下有益效果:
43.根据本发明实施例的内存释放方法,通过利用目标进程的内存占用信息与当前释放阈值判断是否满足内存释放条件,在满足内存释放条件时,根据所述当前释放阈值确定内存释放量,能够在不用重启系统,也不用频繁手动调用释放内存的情况下,实现在线内存释放,避免系统内存容量告警,并且能够避免出现单次释放内存过大而导致释放失效,以及单次释放内存过小而需要频繁进行内存释放,影响系统性能的情况。
附图说明
44.为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
45.图1是本发明一个实施例提供的内存释放方法的流程图;
46.图2是本发明一个实施例提供的初始化配置参数的示意图;
47.图3是本发明一个实施例提供的目标进程的内存占用示意图;
48.图4是本发明一个实施例提供的目标进程的一次内存释放示意图;
49.图5是本发明另一个实施例提供的内存释放方法的流程图;
50.图6是本发明一个实施例提供的调整后的配置参数的示意图;
51.图7是本发明一个实施例提供的目标进程的另一次内存释放示意图;
52.图8是本发明一个实施例提供的内存释放装置的结构示意图;
53.图9是本发明一个实施例提供的电子设备的结构示意图。
具体实施方式
54.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
56.为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。本发明实施例的技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
57.参考说明书附图1,其示出了本发明一个实施例提供的一种内存释放方法的流程,该方法可以应用于终端设备中,以实现对终端设备中的应用程序进行内存管理,所述终端设备可以包括但不限于:智能手机、台式电脑、笔记本电脑、膝上计算机,等等。所述终端设
备中可以安装并运行多个应用程序,例如:即时通信应用程序、浏览器应用程序、音视频应用程序等等;本发明实施例所述的目标进程可以是终端设备中的任一应用程序的进程,例如所述目标进程可以是音视频应用程序的进程。所述终端设备可以包括处理器以及操作系统(operating system,os),处理器是终端设备的处理核心,例如本发明实施例中处理器可用于对应用程序执行内存管理的一系列操作,操作系统是管理和控制终端设备硬件与软件资源的计算机程序,所述操作系统可以为aix系统。具体的如图1所示,所述方法可以包括以下步骤:
58.s110:获取目标进程的内存占用信息。
59.本发明实施例中,由于应用程序运行时会将程序运行进程中需要调用的数据等资源进行存储,以提高应用程序的运行速度。随着应用程序的运行,占用内存也相应的越来越多,而aix系统认为部署在系统上的应用程序是相对稳定的,因此在应用程序申请释放内存后不会立即释放内存,以便在下次使用该文件时可以快速读取,从而减少磁盘读写消耗,提高性能。但也因此造成内存的严重浪费,导致系统的内存使用率会很高,容易触发内存容量告警。因此需要及时对应用程序占用的内存进行释放,避免系统内存容量告警。
60.具体地,所述目标进程可以为终端设备中的任一应用程序的进程,所述内存占用信息可以为所述目标进程的内存占用大小。
61.可选择地,所述获取目标进程的内存占用信息可以包括:按照预设周期定时获取所述目标进程的内存占用信息。
62.具体地,用户可以根据应用程序的实际运行情况自行设定获取目标进程内存占用信息(即进行内存释放)的周期,本发明实施例对此不作限定。
63.可选择地,所述获取目标进程的内存占用信息可以包括:响应于用户的内存释放指令,获取所述目标进程的内存占用信息。
64.具体地,可以将本发明实施例提供的内存释放方法封装成为一个内存释放函数,用户可以通过调用所述内存释放函数触发内存释放指令,当获取到所述内存释放指令时,获取所述目标进程的内存占用信息。
65.在一个可能的实施例中,所述获取目标进程的内存占用信息可以包括:
66.获取所述目标进程对应的内存释放标识;
67.判断所述内存释放标识是否为目标内存释放标识;
68.当所述内存释放标识为目标内存释放标识时,获取所述目标进程的内存占用信息。
69.具体地,针对系统中各个应用程序,可以预先设置对应的内存释放标识,当对所述目标进程占用的内存进行释放时,可以将所述目标进程对应的应用程序的内存释放标识,作为所述目标进程对应的内存释放标识。当所述内存释放标识为目标内存释放标识时,表明使用本发明实施例提供的内存释放方法进行内存释放。示例性地,所述内存释放标识可以包括0和1,当所述内存释放标识为1时,使用本发明实施例提供的内存释放方法释放内存;当所述内存释放标识为0时,使用c语言中原来的free函数释放内存。
70.s120:获取所述目标进程对应的当前释放阈值。
71.本发明实施例中,所述当前释放阈值是指本次内存释放过程的释放阈值。具体地,当本次内存释放过程是所述目标进程运行过程中首次内存释放时,所述当前释放阈值可以
为第三预设释放阈值,当本次内存释放过程是所述目标进程运行过程中非首次内存释放时,所述当前释放阈值可以为前一次内存释放过程中得到的调整后的内存释放阈值。其中,所述第三预设释放阈值可以根据实际情况进行设置,例如可以设置为2g,本发明实施例对此不作限制。
72.s130:根据所述内存占用信息和所述当前释放阈值判断是否满足内存释放条件。
73.本发明实施例中,由于内存释放过程也会占用系统的内存,因此,当目标进程占用内存不多时,频繁释放内存反而会影响系统的性能,为了避免这种情况的发生,只在目标进程占用内存大于所述当前释放阈值时,才进行内存释放。
74.具体地,所述根据所述内存占用信息和所述当前释放阈值判断是否满足内存释放条件可以包括:
75.将所述内存占用信息与所述当前释放阈值进行比较;
76.当所述内存占用信息大于所述当前释放阈值时,确定满足内存释放条件;
77.当所述内存占用信息小于或等于所述当前释放阈值时,确定不满足内存释放条件。
78.s140:当满足内存释放条件时,根据所述当前释放阈值确定内存释放量。
79.本发明实施例中,由于系统中单次释放内存过大可能会导致内存释放失效,并且由于内存释放会有性能消耗,如果单次内存释放值很小,从而频繁进行内存释放,会影响到系统性能,因此需要对每次释放内存的释放量进行限制,防止出现上述单次释放内存过大导致内存释放失效,或单次释放内存过小而频繁进行内存释放影响系统性能的情况。
80.本发明实施例中,所述根据所述当前释放阈值确定内存释放量可以包括:
81.将所述当前释放阈值与第一预设释放阈值进行比较;
82.当所述当前释放阈值大于所述第一预设释放阈值时,确定内存释放量等于所述当前释放阈值;
83.当所述当前释放阈值小于或等于所述第一预设释放阈值时,确定内存释放量等于第二预设释放阈值,所述第二预设释放阈值小于所述第一预设释放阈值。
84.具体地,所述第一预设释放阈值和所述第二预设释放阈值均小于所述第三预设释放阈值,所述第一预设释放阈值和所述第二预设释放阈值可以根据实际情况进行设置,例如可以设置所述第一预设释放阈值为所述第二预设释放阈值的一定倍数(例如8倍),本发明实施例对此不作限定。
85.在一个具体的示例中,系统可以在每次应用程序运行之前进行一次参数初始化,将所有参数值都恢复到初始值。具体地,进行初始化的参数可以包括内存释放标识、释放阈值上限、释放阈值下限和阈值下限检查倍率。其中,所述释放阈值上限即为所述第三预设释放阈值,用于防止单次释放内存过大而导致释放失效,所述释放阈值下限即为所述第二预设释放阈值,用于防止单次释放内存过小而影响系统性能,所述释放阈值下限和阈值下限检查倍率的乘积即为所述第一预设释放阈值。
86.示例性地,在银行的对账系统中,系统会在每天凌晨对账程序开始之前初始化上述参数,初始化之后的内存参数情况如图2所示,其中所述释放阈值上限(即第三预设释放阈值)可以设置为2g,所述释放阈值下限(即第二预设释放阈值)可以设置为2m,所述阈值下限检查倍率可以设置为8倍,即所述第一预设释放阈值可以设置为16m。
87.示例性地,假设本次内存释放过程为所述目标进程运行过程中首次内存释放,所述当前释放阈值等于释放阈值上限(2g),本次获取到目标进程的内存占用信息如图3所示,由于所述内存占用信息大于所述当前释放阈值(2g),并且所述当前释放阈值大于释放阈值下限和阈值下限检查倍率的乘积(16m),那么如图4所示,可以确定本次内存释放过程的内存释放量为2g。
88.s150:基于所述内存释放量对所述目标进程占用的内存进行释放。
89.本发明实施例中,可以自动启动内存释放程序,通过内存释放程序自动释放所述目标进程占用的内存,直到释放所述内存释放量的内存。其中,对目标进程占用的内存进行释放的流程属于现有技术,本发明实施例在此不再赘述。
90.本发明实施例中,当所述当前释放阈值大于第一预设释放阈值时,按照所述当前释放阈值释放内存,使得内存占用积累到一定程度后,可以一次性释放,避免频繁进行内存释放带来的性能消耗,提高系统的性能;当所述当前释放阈值小于或等于第一预设释放阈值时,按照第二预设释放阈值释放,使得内存占用大小较小时,能根据第二预设释放阈值匀速释放,有利于内存的碎片化释放,使得最后遗留的未释放内存尽可能小。
91.在一个可能的实施例中,结合参考说明书附图5,所述方法还可以包括以下步骤:
92.s160:当不满足内存释放条件时,或在内存释放完成后,根据预设倍率参数对所述当前释放阈值进行调整,得到调整后的释放阈值。
93.具体地,所述根据预设倍率参数对所述当前释放阈值进行调整,得到调整后的释放阈值可以包括:
94.获取所述预设倍率参数,所述预设倍率参数小于1;
95.将所述预设倍率参数与所述当前释放阈值相乘,得到调整后的释放阈值。
96.本发明实施例中,内存释放完成后,可以根据所述预设倍率参数来调整所述当前释放阈值,调整后的释放阈值=所述当前释放阈值*预设倍率参数,调整后的释放阈值可以作为下一次内存释放时的当前释放阈值,所述预设倍率参数可以根据系统内存占用和释放需求进行设置,例如在银行的对账系统中可以设置为1/2,本发明实施例对此不作限制。
97.本发明实施例提供的内存释放方法采用降速释放内存的方式,每释放一次内存后按照预设倍率参数将释放阈值下降一定倍率,可以使得最后一次释放内存后剩余的未释放内存尽可能的小(小于所述第二预设释放阈值)。
98.在一个具体的示例中,假设所述当前释放阈值为2g,所述预设倍率参数为1/2,那么内存释放后的释放阈值调整为2g*1/2=1g,调整后的内存参数如图6所示。
99.本发明实施例中,当下一次进行内存释放时,可以重复上述步骤s110至步骤s160即可。示例性地,假设上一次释放内存后,调整后的释放阈值为7m,也即是说本次内存释放过程的当前释放阈值为7m,假设本次获取到目标进程的内存占用信息如图7所示,由于所述内存占用信息大于所述当前释放阈值(7m),并且所述当前释放阈值小于释放阈值下限和阈值下限检查倍率的乘积(16m),那么如图7所示,可以确定本次释放过程的内存释放量为2m。本次内存释放结束后仍然对所述当前释放阈值进行调整,在之后需要释放内存时可以再次重复上述步骤s110至步骤s160,直到应用程序运行结束。
100.综上所述,根据本发明实施例的内存释放方法,通过利用目标进程的内存占用信息与当前释放阈值判断是否满足内存释放条件,在满足内存释放条件时,根据所述当前释
放阈值确定内存释放量,能够在不用重启系统,也不用频繁手动调用释放内存的情况下,实现在线内存释放,避免系统内存容量告警,并且能够避免出现单次释放内存过大而导致释放失效,以及单次释放内存过小而需要频繁进行内存释放,影响系统性能的情况。
101.参考说明书附图8,其示出了本发明一个实施例提供的一种内存释放装置800的结构。如图8所示,所述装置800可以包括:
102.内存占用信息获取模块810,用于获取目标进程的内存占用信息;
103.当前释放阈值获取模块820,用于获取所述目标进程对应的当前释放阈值;
104.判断模块830,用于根据所述内存占用信息和所述当前释放阈值判断是否满足内存释放条件;
105.内存释放量确定模块840,用于当满足内存释放条件时,根据所述当前释放阈值确定内存释放量;
106.内存释放模块850,用于基于所述内存释放量对所述目标进程占用的内存进行释放。
107.在一个可能的实施例中,所述装置800还可以包括:
108.释放阈值调节模块,用于当不满足内存释放条件时,或在内存释放完成后,根据预设倍率参数对所述当前释放阈值进行调整,得到调整后的释放阈值。
109.需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与相应方法实施例属于同一构思,其具体实现过程详见对应方法实施例,这里不再赘述。
110.本发明一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的内存释放方法。
111.存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
112.在一个具体的实施例中,图9示出了一种用于实现本发明实施例所提供的内存释放方法的电子设备的硬件结构示意图,所述电子设备可以为计算机终端、移动终端或其它设备,所述电子设备还可以参与构成或包含本发明实施例所提供的内存释放装置。如图9所示,所述电子设备900可以包括一个或一个以上计算机可读存储介质的存储器910、一个或者一个以上处理核心的处理器920、输入单元930、显示单元940、射频(radio frequency,rf)电路950、无线保真(wireless fidelity,wifi)模块960以及电源970等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备900的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
113.所述存储器910可用于存储软件程序以及模块,所述处理器920通过运行或执行存
储在所述存储器910的软件程序以及模块,以及调用存储在存储器910内的数据,从而执行各种功能应用以及数据处理。所述存储器910可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据所述电子设备的使用所创建的数据等。此外,存储器910可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器910还可以包括存储器控制器,以提供处理器920对存储器910的访问。
114.所述处理器920是电子设备900的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器910内的软件程序和/或模块,以及调用存储在存储器910内的数据,执行电子设备900的各种功能和处理数据,从而对电子设备900进行整体监控。所述处理器920可以是中央处理器,还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
115.所述输入单元930可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元930可包括触敏表面931以及其他输入设备932。具体地,触敏表面931可以包括但不限于触感板或者触摸屏,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
116.所述显示单元940可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板941。
117.所述rf电路950可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器920处理;另外,将涉及上行的数据发送给基站。通常,rf电路950包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、低噪声放大器(low noise amplifier,lna)、双工器等。此外,rf电路950还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(global system of mobile communication,gsm)、通用分组无线服务(general packet radio service,gprs)、码分多址(code division multiple access,cdma)、宽带码分多址(wideband code division multiple access,wcdma)、长期演进(long term evolution,lte)、电子邮件、短消息服务(short messaging service,sms)等。
118.wifi属于短距离无线传输技术,电子设备900通过wifi模块960可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了wifi模块960,但是可以理解的是,其并不属于电子设备900的必须构成,完全可以根
据需要在不改变发明的本质的范围内而省略。
119.所述电子设备900还包括给各个部件供电的电源970(比如电池),优选的,电源可以通过电源管理系统与处理器920逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源970还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
120.需要说明的是,尽管未示出,所述电子设备900还可以包括蓝牙模块等,在此不再赘述。
121.本发明一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于电子设备之中以保存用于实现一种内存释放方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的内存释放方法。
122.可选地,在本发明实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
123.本发明一个实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当计算机程序产品在电子设备上运行时,该计算机程序/指令被处理器加载并执行以实现上述各种可选实施例中提供的内存释放方法的步骤。
124.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
125.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
126.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
127.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1