CN106033397B - 内存缓冲区调整方法、装置及终端 - Google Patents

内存缓冲区调整方法、装置及终端 Download PDF

Info

Publication number
CN106033397B
CN106033397B CN201510116459.2A CN201510116459A CN106033397B CN 106033397 B CN106033397 B CN 106033397B CN 201510116459 A CN201510116459 A CN 201510116459A CN 106033397 B CN106033397 B CN 106033397B
Authority
CN
China
Prior art keywords
memory
memory buffer
terminal system
current
buffer area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510116459.2A
Other languages
English (en)
Other versions
CN106033397A (zh
Inventor
江波
李少雄
丁晓亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510116459.2A priority Critical patent/CN106033397B/zh
Publication of CN106033397A publication Critical patent/CN106033397A/zh
Application granted granted Critical
Publication of CN106033397B publication Critical patent/CN106033397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephone Function (AREA)
  • Memory System (AREA)

Abstract

本公开是关于一种内存缓冲区调整方法、装置及终端,属于计算机技术领域。所述方法包括:在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存减小所述指定应用的内存缓冲区的大小;当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;其中,所述指定应用为可播放多媒体文件的应用。由于实时检测终端系统当前的内存剩余情况,并基于内存剩余情况动态地调整指定应用的内存缓冲区的大小,所以提高了终端系统的稳定性。

Description

内存缓冲区调整方法、装置及终端
技术领域
本公开涉及计算机技术领域,特别涉及一种内存缓冲区调整方法、装置及终端。
背景技术
随着终端技术的不断发展,终端安装了大量的应用,极大的丰富了终端的功能。当终端上的某一应用处于运行状态时,终端系统均会为该应用在内存中开辟一个缓冲区,用以缓存数据。比如,当用户使用播放类程序播放多媒体文件时,系统便会为该播放类程序分配一个内存缓冲区。通常情况下,播放类程序的内存缓冲区会占用大量的内存,从几十兆到上百兆不等。由于播放类程序的内存缓冲区占用了大量的内存,所以,若终端系统同时运行数个应用,则将导致终端系统的内存资源严重不足。因此,为了提高终端系统的稳定性,亟需一种内存缓冲区的调整方法。
发明内容
为克服相关技术中存在的问题,本公开提供一种内存缓冲区调整方法、装置及终端。
根据本公开实施例的第一方面,提供一种内存缓冲区调整方法,所述方法包括:
在指定应用的运行过程中,检测终端系统当前的内存剩余情况;
当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存减小所述指定应用的内存缓冲区的大小;
当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;
其中,所述指定应用为可播放多媒体文件的应用。
可选地,所述根据所述当前剩余内存减小所述指定应用的内存缓冲区的大小,包括:
根据所述当前剩余内存与所述预设阈值之差,确定所述终端系统的内存紧张程度;
根据所述内存紧张程度确定所述内存缓冲区的减小数值;
估算根据所述减小数值减小后的内存缓冲区;
若减小后的内存缓冲区大于内存阈值下限,则根据所述减小数值减小所述内存缓冲区;
若减小后的内存缓冲区小于所述内存阈值下限,则将所述内存缓冲区减小至所述内存阈值下限。
可选地,所述根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小,包括:
根据所述当前剩余内存与所述预设阈值之差,确定所述终端系统的内存充裕程度;
根据所述内存充裕程度确定所述内存缓冲区的增大数值;
估算根据所述增大数值增大后的内存缓冲区;
若增大后的内存缓冲区小于内存阈值上限,则根据所述增大数值增大所述内存缓冲区;
若增大后的内存缓冲区大于所述内存阈值上限,则将所述内存缓冲区增大至所述内存阈值上限。
可选地,所述检测终端系统当前的内存剩余情况之前,所述方法还包括:
设置所述内存缓冲区的内存阈值上限和内存阈值下限。
可选地,所述检测终端系统当前的内存剩余情况,包括:
调用所述终端系统的任务管理器,通过所述任务管理器检测所述终端系统当前的内存剩余情况;或,
运行内置的内存检测程序检测所述终端系统当前的内存剩余情况。
根据本公开实施例的第二方面,提供一种内存缓冲区调整装置,所述装置包括:
检测模块,用于在指定应用的运行过程中,检测终端系统当前的内存剩余情况;
第一调整模块,用于当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存减小所述指定应用的内存缓冲区的大小;
第二调整模块,用于当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;
其中,所述指定应用为可播放多媒体文件的应用。
可选地,所述第一调整模块,用于根据所述当前剩余内存与所述预设阈值之差,确定所述终端系统的内存紧张程度;根据所述内存紧张程度确定所述内存缓冲区的减小数值;估算根据所述减小数值减小后的内存缓冲区;若减小后的内存缓冲区大于内存阈值下限,则根据所述减小数值减小所述内存缓冲区;若减小后的内存缓冲区小于所述内存阈值下限,则将所述内存缓冲区减小至所述内存阈值下限。
可选地,所述第二调整模块,用于根据所述当前剩余内存与所述预设阈值之差,确定所述终端系统的内存充裕程度;根据所述内存充裕程度确定所述内存缓冲区的增大数值;估算根据所述增大数值增大后的内存缓冲区;若增大后的内存缓冲区小于内存阈值上限,则根据所述增大数值增大所述内存缓冲区;若增大后的内存缓冲区大于所述内存阈值上限,则将所述内存缓冲区增大至所述内存阈值上限。
可选地,所述装置还包括:
设置模块,用于设置所述内存缓冲区的内存阈值上限和内存阈值下限。
可选地,所述检测模块,用于调用所述终端系统的任务管理器,通过所述任务管理器检测所述终端系统当前的内存剩余情况;或,运行内置的内存检测程序检测所述终端系统当前的内存剩余情况。
根据本公开实施例的第三方面,提供一种终端,所述终端包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存减小所述指定应用的内存缓冲区的大小;当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;其中,所述指定应用为可播放多媒体文件的应用。
本公开的实施例提供的技术方案可以包括以下有益效果:
在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小,由于实时检测终端系统当前的内存剩余情况,并基于内存剩余情况动态地调整指定应用的内存缓冲区的大小,所以提高了终端系统的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种内存缓冲区调整方法的流程图。
图2是根据一示例性实施例示出的一种内存缓冲区调整方法的流程图。
图3是根据一示例性实施例示出的第一种内存缓冲区调整装置的框图。
图4是根据一示例性实施例示出的第二种内存缓冲区调整装置的框图。
图5是根据一示例性实施例示出的一种终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种内存缓冲区调整方法的流程图,如图1所示,该内存缓冲区调整方法用于终端中,包括以下步骤。
在步骤101中,在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,执行下述步骤102;当检测到终端系统的当前剩余内存大于预设阈值时,执行下述步骤103。
其中,指定应用为可播放多媒体文件的应用。
在步骤102中,当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小。
在步骤103中,当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小。
本公开实施例提供的方法,在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小,由于实时检测终端系统当前的内存剩余情况,并基于内存剩余情况动态地调整指定应用的内存缓冲区的大小,所以提高了终端系统的稳定性。
可选地,根据当前剩余内存减小指定应用的内存缓冲区的大小,包括:
根据当前剩余内存与预设阈值之差,确定终端系统的内存紧张程度;
根据内存紧张程度确定内存缓冲区的减小数值;
估算根据减小数值减小后的内存缓冲区;
若减小后的内存缓冲区大于内存阈值下限,则根据减小数值减小内存缓冲区;
若减小后的内存缓冲区小于内存阈值下限,则将内存缓冲区减小至内存阈值下限。
可选地,根据当前剩余内存增大指定应用的内存缓冲区的大小,包括:
根据当前剩余内存与预设阈值之差,确定终端系统的内存充裕程度;
根据内存充裕程度确定内存缓冲区的增大数值;
估算根据增大数值增大后的内存缓冲区;
若增大后的内存缓冲区小于内存阈值上限,则根据增大数值增大内存缓冲区;
若增大后的内存缓冲区大于内存阈值上限,则将内存缓冲区增大至内存阈值上限。
可选地,检测终端系统当前的内存剩余情况之前,该方法还包括:
设置内存缓冲区的内存阈值上限和内存阈值下限。
可选地,检测终端系统当前的内存剩余情况,包括:
调用终端系统的任务管理器,通过任务管理器检测终端系统当前的内存剩余情况;或,
运行内置的内存检测程序检测终端系统当前的内存剩余情况。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是根据一示例性实施例示出的一种内存缓冲区调整方法的流程图,如图2所示,该内存缓冲区调整方法用于终端中,包括以下步骤。
在步骤201中,设置指定应用的内存缓冲区的内存阈值上限和内存阈值下限。
其中,指定应用为可播放多媒体文件的应用。通常情况下,指定应用在播放多媒体文件时,会占用大量的系统内存,因此本公开实施例提供一种调整指定应用的内存缓冲区的方法。为了后续在调整内存缓冲区时,既可保证指定应用能够顺利播放多媒体文件,同时内存缓冲区又不占用大量的内存,本公开实施例设置了内存缓冲区的内存阈值上限和内存阈值下限。也即,对于内存缓冲区而言,当内存缓冲区的大小减小至内存阈值下限时,为了保证指定应用能够顺利播放多媒体文件,此时便不再减小;当内存缓冲区的大小增大至内存阈值上限时,为了确保终端系统的内存资源充裕,以使终端能够运行其他应用程序,此时便不再增加。
在本公开实施例中,在设置内存阈值上限和内存阈值下限时,可基于终端系统的内存总大小来设置。比如,将内存阈值上限和内存阈值下限分别设置为内存总大小的几分之一、几十分之一或几百分之一等等,本公开实施例对此不进行具体限定。
在步骤202中,在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,执行下述步骤203;当检测到终端系统的当前剩余内存大于预设阈值时,执行下述步骤204。
在本公开实施例中,终端在检测到指定应用启动后,便检测终端系统当前的内存剩余情况,也即内存检测持续在指定应用运行的整个过程中。
其中,在检测终端系统当前的内存剩余情况时,可采取下述两种方式实现。
第一种方式、调用终端系统的任务管理器,通过任务管理器检测终端系统当前的内存剩余情况。
针对第一种方式来说,由于任务管理器可检测终端系统的各种性能指标,所以指定应用可调用终端系统的任务管理器,从而由任务管理器来实时检测终端系统当前的内存剩余情况。其中,任务管理器检测内存剩余情况的方式可参考现有技术,此处不再赘述。任务管理器在执行检测过程中,可检测当前剩余内存的大小,当前正在运行的指定应用占用的内存大小等等,本公开实施例对此不进行具体限定。
第二种方式、运行内置的内存检测程序检测终端系统当前的内存剩余情况。
针对第二种方式来说,指定应用中可预先由开发人员开发并内置一段内存检测程序。当指定应用启动时,立即运行该段内存检测程序,由该段内存检测程序来实时检测终端系统当前的内存剩余情况。
当然,除上述两种检测终端系统当前的内存剩余情况的方式外,还可采取其他方式,本公开实施例对此不进行具体限定。
在步骤203中,当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小。
其中,预设阈值可为内存总大小的50%或60%等数值,本公开实施例对此不进行具体限定。
在本公开实施例中,若终端系统的当前剩余内存小于预设阈值,则在根据当前剩余内存减小指定应用的内存缓冲区的大小时,可采取下述方式实现:
第一步、根据当前剩余内存与预设阈值之差,确定终端系统的内存紧张程度。
其中,内存紧张程度用于描述终端系统的内存资源剩余情况。当终端系统的当前剩余内存小于预设阈值,且与预设阈值之差越大时,内存紧张程度越高。以终端系统的内存总大小为M,预设阈值为内存总大小的50%为例,则若当前剩余内存小于0.5M,便需对指定应用的内存缓冲区进行调整。举个简单例子,当终端系统的当前剩余内存为0.3M时,其内存紧张程度要比当前剩余内存为0.4M时紧张程度要高。
在根据当前剩余内存与预设阈值之差确定终端系统的内存紧张程度之前,可事先设置当前剩余内存与预设阈值之差、内存紧张程度的对应关系表。从而在计算出当前剩余内存与预设阈值之差后,查询该对应关系表便可确定终端系统的内存紧张程度。
第二步、根据内存紧张程度确定内存缓冲区的减小数值。
针对第二步,由于当前剩余内存与预设阈值之差越大,内存紧张程度越高,因此,内存紧张程度越高,指定应用的内存缓冲区的减小数值相应越大。在根据内存紧张程度确定内存缓冲区的减小数值之前,终端可预先设置内存紧张程度与内存缓冲区的减小数值的对应关系表。从而在确定内存紧张程度之后,便可查询该对应关系表确定内存缓冲区的减小数值。
第三步、估算根据减小数值减小后的内存缓冲区。
在本公开实施例中,在得到内存缓冲区的减小数值后,还需先估算一下根据减小数值减小后的内存缓冲区的大小。之所以这样做是为了避免出现指定应用的内存缓冲区减小到不能顺利播放多媒体文件的情况。为了解决该种情况,本公开实施例设置了一个内存阈值下限。当指定应用的内存缓冲区大小减小到内存阈值下限时,便不再减小。
第四步、若减小后的内存缓冲区大于内存阈值下限,则根据减小数值减小内存缓冲区。
针对第四步,若第三步估算出减小后的内存缓冲区依然大于内存阈值下限,也即指定应用基于减小后的内存缓冲区依然可顺利播放多媒体文件,则根据该减小数值减小指定应用的内存缓冲区。
第五步、若减小后的内存缓冲区小于内存阈值下限,则将内存缓冲区减小至内存阈值下限。
若第三步估算出减小后的内存缓冲区小于内存阈值下限,为了保证指定应用基于减小后的内存缓冲区依然可顺利播放多媒体文件,则指定应用的内存缓冲区大小直接减小至内存阈值下限。
在步骤204中,当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小。
在本公开实施例中,若终端系统的当前剩余内存大于预设阈值,则在根据当前剩余内存增大指定应用的内存缓冲区的大小时,可采取下述方式实现:
第一步、根据当前剩余内存与预设阈值之差,确定终端系统的内存充裕程度。
其中,内存充裕程度用于描述终端系统的内存资源剩余情况。当终端系统的当前剩余内存大于预设阈值,且与预设阈值之差越大时,内存充裕程度越高。以终端系统的内存总大小为M,预设阈值为内存总大小的80%为例,则若当前剩余内存大于0.8M,便需对指定应用的内存缓冲区进行调整。举个简单例子,当终端系统的当前剩余内存为0.9M时,其内存充裕程度要比当前剩余内存为0.7M时紧张程度要高。
在根据当前剩余内存与预设阈值之差确定终端系统的内存充裕程度之前,可事先设置当前剩余内存与预设阈值之差、内存充裕程度的对应关系表。从而在计算出当前剩余内存与预设阈值之差后,查询该对应关系表便可确定终端系统的内存充裕程度。
第二步、根据内存充裕程度确定内存缓冲区的增大数值。
针对第二步,由于当前剩余内存与预设阈值之差越大,内存充裕程度越高,因此,内存充裕程度越高,指定应用的内存缓冲区的增大数值相应越大。在根据内存充裕程度确定内存缓冲区的增大数值之前,终端可预先设置内存充裕程度与内存缓冲区的增大数值的对应关系表。从而在确定内存充裕程度之后,便可查询该对应关系表确定内存缓冲区的增大数值。
第三步、估算根据增大数值增大后的内存缓冲区。
在本公开实施例中,在得到内存缓冲区的增大数值后,还需先估算一下根据增大数值增大后的内存缓冲区的大小。之所以这样做是为了避免出现指定应用的内存缓冲区增大到使得终端系统的内存资源严重不足,从而不能顺利运行其他应用程序或文件的情况。为了解决该种情况,本公开实施例设置了一个内存阈值上限。当指定应用的内存缓冲区大小增大到内存阈值上限时,便不再增大。
第四步、若增大后的内存缓冲区小于内存阈值上限,则根据增大数值增大内存缓冲区。
针对第四步,若第三步估算出增大后的内存缓冲区依然小于内存阈值上限,也即增大后的内存缓冲区大小依然没有导致终端系统的内存资源不足,则根据该增大数值增大指定应用的内存缓冲区。
第五步、若增大后的内存缓冲区大于内存阈值上限,则将内存缓冲区增大至内存阈值上限。
若第三步估算出增大后的内存缓冲区大于内存阈值上限,为了终端系统剩余足够的内存资源,则指定应用的内存缓冲区大小直接增大至内存阈值上限后便不再增加。
本公开实施例提供的方法,在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小,由于实时检测终端系统当前的内存剩余情况,并基于内存剩余情况动态地调整指定应用的内存缓冲区的大小,所以提高了终端系统的稳定性。
图3是根据一示例性实施例示出的一种内存缓冲区调整装置的框图。参照图3,该装置包括检测模块301,第一调整模块302和第二调整模块303。
其中,检测模块301与第一调整模块302连接,用于在指定应用的运行过程中,检测终端系统当前的内存剩余情况;第一调整模块302与第二调整模块303连接,用于当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;第二调整模块303,用于当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小;其中,指定应用为可播放多媒体文件的应用。
可选地,第一调整模块,用于根据当前剩余内存与预设阈值之差,确定终端系统的内存紧张程度;根据内存紧张程度确定内存缓冲区的减小数值;估算根据减小数值减小后的内存缓冲区;若减小后的内存缓冲区大于内存阈值下限,则根据减小数值减小内存缓冲区;若减小后的内存缓冲区小于内存阈值下限,则将内存缓冲区减小至内存阈值下限。
可选地,第二调整模块,用于根据当前剩余内存与预设阈值之差,确定终端系统的内存充裕程度;根据内存充裕程度确定内存缓冲区的增大数值;估算根据增大数值增大后的内存缓冲区;若增大后的内存缓冲区小于内存阈值上限,则根据增大数值增大内存缓冲区;若增大后的内存缓冲区大于内存阈值上限,则将内存缓冲区增大至内存阈值上限。
参见图4,该装置还包括:
设置模块304,用于设置内存缓冲区的内存阈值上限和内存阈值下限。
可选地,检测模块,用于调用终端系统的任务管理器,通过任务管理器检测终端系统当前的内存剩余情况;或,运行内置的内存检测程序检测终端系统当前的内存剩余情况。
本公开实施例提供的装置,在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小,由于实时检测终端系统当前的内存剩余情况,并基于内存剩余情况动态地调整指定应用的内存缓冲区的大小,所以提高了终端系统的稳定性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种用于对内存缓冲区进行调整的终端500的框图。例如,终端500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,终端500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,I/O(Input/Output,输入/输出)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制终端500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在终端500的操作。这些数据的示例包括用于在终端500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如SRAM(Static Random Access Memory,静态随机存取存储器),EEPROM(Electrically-Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为终端500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为终端500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述终端500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括LCD(Liquid Crystal Display,液晶显示器)和TP(TouchPanel,触摸面板)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当终端500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个MIC(Microphone,麦克风),当终端500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为终端500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如组件为终端500的显示器和小键盘,传感器组件514还可以检测终端500或终端500一个组件的位置改变,用户与终端500接触的存在或不存在,终端500方位或加速/减速和终端500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS(Complementary Metal OxideSemiconductor,互补金属氧化物)或CCD(Charge-coupled Device,电荷耦合元件)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于终端500和其他设备之间有线或无线方式的通信。终端500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括NFC(Near Field Communication,近场通信)模块,以促进短程通信。例如,在NFC模块可基于RFID(Radio FrequencyIdentification,射频识别)技术,IrDA(Infra-red Data Association,红外数据协会)技术,UWB(Ultra Wideband,超宽带)技术,BT(Bluetooth,蓝牙)技术和其他技术来实现。
在示例性实施例中,终端500可以被一个或多个ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)、DSP(Digital signal Processor,数字信号处理器)、DSPD(Digital signal Processor Device,数字信号处理设备)、PLD(ProgrammableLogic Device,可编程逻辑器件)、FPGA)(Field Programmable Gate Array,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由终端500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器)、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种内存缓冲区调整方法,该方法包括:
在指定应用的运行过程中,检测终端系统当前的内存剩余情况;
当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;
当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小;
其中,指定应用为可播放多媒体文件的应用。
可选地,根据当前剩余内存减小指定应用的内存缓冲区的大小,包括:
根据当前剩余内存与预设阈值之差,确定终端系统的内存紧张程度;
根据内存紧张程度确定内存缓冲区的减小数值;
估算根据减小数值减小后的内存缓冲区;
若减小后的内存缓冲区大于内存阈值下限,则根据减小数值减小内存缓冲区;
若减小后的内存缓冲区小于内存阈值下限,则将内存缓冲区减小至内存阈值下限。
可选地,根据当前剩余内存增大指定应用的内存缓冲区的大小,包括:
根据当前剩余内存与预设阈值之差,确定终端系统的内存充裕程度;
根据内存充裕程度确定内存缓冲区的增大数值;
估算根据增大数值增大后的内存缓冲区;
若增大后的内存缓冲区小于内存阈值上限,则根据增大数值增大内存缓冲区;
若增大后的内存缓冲区大于内存阈值上限,则将内存缓冲区增大至内存阈值上限。
可选地,检测终端系统当前的内存剩余情况之前,该方法还包括:
设置内存缓冲区的内存阈值上限和内存阈值下限。
可选地,检测终端系统当前的内存剩余情况,包括:
调用终端系统的任务管理器,通过任务管理器检测终端系统当前的内存剩余情况;或,
运行内置的内存检测程序检测终端系统当前的内存剩余情况。
本公开实施例提供的非临时性计算机可读存储介质,在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到终端系统的当前剩余内存小于预设阈值时,根据当前剩余内存减小指定应用的内存缓冲区的大小;当检测到终端系统的当前剩余内存大于预设阈值时,根据当前剩余内存增大指定应用的内存缓冲区的大小,由于实时检测终端系统当前的内存剩余情况,并基于内存剩余情况动态地调整指定应用的内存缓冲区的大小,所以提高了终端系统的稳定性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (7)

1.一种内存缓冲区调整方法,其特征在于,所述方法包括:
在指定应用的运行过程中,检测终端系统当前的内存剩余情况;
当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存与所述预设阈值之差,从预先存储的当前剩余内存与预设阈值之差、终端系统的内存紧张程度的对应关系表中,确定所述终端系统的内存紧张程度;
根据所述内存紧张程度确定所述内存缓冲区的减小数值;
估算根据所述减小数值减小后的内存缓冲区;
若减小后的内存缓冲区大于内存阈值下限,则根据所述减小数值减小所述内存缓冲区;
若减小后的内存缓冲区小于所述内存阈值下限,则将所述内存缓冲区减小至所述内存阈值下限;
当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;
其中,所述指定应用为可播放多媒体文件的应用;
所述检测终端系统当前的内存剩余情况之前,所述方法还包括:
设置所述内存缓冲区的内存阈值上限和内存阈值下限;所述内存阈值下限用于当所述内存缓冲区的大小减小至所述内存阈值下限时,所述内存缓冲区不再减小;所述内存阈值上限用于当所述内存缓冲区的大小增大至所述内存阈值上限时,所述内存缓冲区不再增加。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小,包括:
根据所述当前剩余内存与所述预设阈值之差,确定所述终端系统的内存充裕程度;
根据所述内存充裕程度确定所述内存缓冲区的增大数值;
估算根据所述增大数值增大后的内存缓冲区;
若增大后的内存缓冲区小于内存阈值上限,则根据所述增大数值增大所述内存缓冲区;
若增大后的内存缓冲区大于所述内存阈值上限,则将所述内存缓冲区增大至所述内存阈值上限。
3.根据权利要求1所述的方法,其特征在于,所述检测终端系统当前的内存剩余情况,包括:
调用所述终端系统的任务管理器,通过所述任务管理器检测所述终端系统当前的内存剩余情况;或,
运行内置的内存检测程序检测所述终端系统当前的内存剩余情况。
4.一种内存缓冲区调整装置,其特征在于,所述装置包括:
检测模块,用于在指定应用的运行过程中,检测终端系统当前的内存剩余情况;
第一调整模块,用于当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存与所述预设阈值之差,从预先存储的当前剩余内存与预设阈值之差、终端系统的内存紧张程度的对应关系表中,确定所述终端系统的内存紧张程度;根据所述内存紧张程度确定所述内存缓冲区的减小数值;估算根据所述减小数值减小后的内存缓冲区;若减小后的内存缓冲区大于内存阈值下限,则根据所述减小数值减小所述内存缓冲区;若减小后的内存缓冲区小于所述内存阈值下限,则将所述内存缓冲区减小至所述内存阈值下限;
第二调整模块,用于当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;
其中,所述指定应用为可播放多媒体文件的应用;
设置模块,用于设置所述内存缓冲区的内存阈值上限和内存阈值下限;所述内存阈值下限用于当所述内存缓冲区的大小减小至所述内存阈值下限时,所述内存缓冲区不再减小;所述内存阈值上限用于当所述内存缓冲区的大小增大至所述内存阈值上限时,所述内存缓冲区不再增加。
5.根据权利要求4所述的装置,其特征在于,所述第二调整模块,用于根据所述当前剩余内存与所述预设阈值之差,确定所述终端系统的内存充裕程度;根据所述内存充裕程度确定所述内存缓冲区的增大数值;估算根据所述增大数值增大后的内存缓冲区;若增大后的内存缓冲区小于内存阈值上限,则根据所述增大数值增大所述内存缓冲区;若增大后的内存缓冲区大于所述内存阈值上限,则将所述内存缓冲区增大至所述内存阈值上限。
6.根据权利要求4所述的装置,其特征在于,所述检测模块,用于调用所述终端系统的任务管理器,通过所述任务管理器检测所述终端系统当前的内存剩余情况;或,运行内置的内存检测程序检测所述终端系统当前的内存剩余情况。
7.一种终端,其特征在于,所述终端包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:在指定应用的运行过程中,检测终端系统当前的内存剩余情况;当检测到所述终端系统的当前剩余内存小于预设阈值时,根据所述当前剩余内存与所述预设阈值之差,从预先存储的当前剩余内存与预设阈值之差、终端系统的内存紧张程度的对应关系表中,确定所述终端系统的内存紧张程度;根据所述内存紧张程度确定所述内存缓冲区的减小数值;估算根据所述减小数值减小后的内存缓冲区;若减小后的内存缓冲区大于内存阈值下限,则根据所述减小数值减小所述内存缓冲区;若减小后的内存缓冲区小于所述内存阈值下限,则将所述内存缓冲区减小至所述内存阈值下限;当检测到所述终端系统的当前剩余内存大于所述预设阈值时,根据所述当前剩余内存增大所述指定应用的内存缓冲区的大小;其中,所述指定应用为可播放多媒体文件的应用;
所述检测终端系统当前的内存剩余情况之前,所述处理器还被配置为:
设置所述内存缓冲区的内存阈值上限和内存阈值下限;所述内存阈值下限用于当所述内存缓冲区的大小减小至所述内存阈值下限时,所述内存缓冲区不再减小;所述内存阈值上限用于当所述内存缓冲区的大小增大至所述内存阈值上限时,所述内存缓冲区不再增加。
CN201510116459.2A 2015-03-17 2015-03-17 内存缓冲区调整方法、装置及终端 Active CN106033397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510116459.2A CN106033397B (zh) 2015-03-17 2015-03-17 内存缓冲区调整方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510116459.2A CN106033397B (zh) 2015-03-17 2015-03-17 内存缓冲区调整方法、装置及终端

Publications (2)

Publication Number Publication Date
CN106033397A CN106033397A (zh) 2016-10-19
CN106033397B true CN106033397B (zh) 2024-08-02

Family

ID=57150846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510116459.2A Active CN106033397B (zh) 2015-03-17 2015-03-17 内存缓冲区调整方法、装置及终端

Country Status (1)

Country Link
CN (1) CN106033397B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106502793A (zh) * 2016-10-21 2017-03-15 搜游网络科技(北京)有限公司 一种游戏资源的调配方法和设备
CN107995234B (zh) * 2016-10-26 2021-08-10 北京国双科技有限公司 数据传输方法及装置
CN109327424B (zh) * 2017-08-01 2021-06-04 徐州天荣医疗通讯设备有限公司 基于小内存单片机的自带缓冲区mqtt协议实现方法
CN107613337B (zh) * 2017-09-19 2019-12-13 盐城云睿网络科技有限公司 分配视频缓冲内存空间大小的方法、移动终端及装置
CN107885484B (zh) * 2017-12-08 2021-07-16 北京酷我科技有限公司 一种全景音效的缓存设定方法
CN110430375B (zh) * 2019-07-23 2021-07-20 Oppo广东移动通信有限公司 成像方法、装置、存储介质及电子设备
CN112765107A (zh) * 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于调整存储空间的方法、设备和计算机程序产品
CN112416569B (zh) * 2020-09-17 2022-12-06 上海哔哩哔哩科技有限公司 缓存内存调整方法、装置及计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294782A (zh) * 2013-05-15 2013-09-11 北京小米科技有限责任公司 一种数据展现方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162582B2 (en) * 2002-11-18 2007-01-09 Aristos Logic Corporation Caching in a virtualization system
CN101221536B (zh) * 2008-01-25 2010-06-16 中兴通讯股份有限公司 嵌入式系统的内存管理方法及装置
CN102122256B (zh) * 2011-03-28 2013-01-09 中国人民解放军国防科学技术大学 一种用于进程间通信的管道式通信方法及系统
CN103365721A (zh) * 2012-04-06 2013-10-23 腾讯科技(深圳)有限公司 调整移动终端内存的方法及该移动终端
CN104008062B (zh) * 2013-02-25 2018-03-27 腾讯科技(深圳)有限公司 内存管理方法及内存管理装置
CN104182350B (zh) * 2013-05-28 2017-07-21 中国银联股份有限公司 一种针对包括多个进程的应用的内存管理方法和装置
CN103596037B (zh) * 2013-11-19 2016-09-28 天津市亚安科技有限公司 一种实时视频流缓冲的控制方法
CN103841456A (zh) * 2013-12-10 2014-06-04 珠海全志科技股份有限公司 一种网络播放数据缓冲方法
CN104239102B (zh) * 2014-09-15 2016-08-24 腾讯科技(深圳)有限公司 应用程序运行方法和装置
CN104407981B (zh) * 2014-10-28 2018-03-20 小米科技有限责任公司 内存管理方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294782A (zh) * 2013-05-15 2013-09-11 北京小米科技有限责任公司 一种数据展现方法和装置

Also Published As

Publication number Publication date
CN106033397A (zh) 2016-10-19

Similar Documents

Publication Publication Date Title
CN106033397B (zh) 内存缓冲区调整方法、装置及终端
US9961393B2 (en) Method and device for playing multimedia file
EP3188066A1 (en) A method and an apparatus for managing an application
CN107608561B (zh) 触摸屏控制方法及装置
CN105786507B (zh) 显示界面切换的方法及装置
CN107040591B (zh) 一种对客户端进行控制的方法及装置
CN107562349B (zh) 一种执行处理的方法和装置
CN110262692B (zh) 一种触摸屏扫描方法、装置及介质
CN106354504B (zh) 消息显示方法及装置
CN106020893B (zh) 应用安装的方法及装置
CN105427161A (zh) 一种货币汇率转换的方法及装置
CN105511777A (zh) 触控显示屏上的会话显示方法及装置
US9678868B2 (en) Method and device for optimizing memory
CN105242837B (zh) 应用页面获取方法及终端
CN108874450B (zh) 唤醒语音助手的方法及装置
CN104837020B (zh) 播放视频的方法和装置
CN106919302B (zh) 移动终端的操作控制方法及装置
CN106445122B (zh) 设备状态控制方法及装置
CN104112460B (zh) 播放音频数据的方法和装置
CN107885464B (zh) 数据存储方法、装置及计算机可读存储介质
CN107203315B (zh) 点击事件的处理方法、装置及终端
CN111290843A (zh) 进程管理方法及装置
CN106060253B (zh) 信息呈现的方法及装置
CN106502719A (zh) 管理应用程序的组件的方法及装置
CN113727248A (zh) 扬声器播放音频的方法、装置及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant