CN112948073A - 一种运行内存的优化方法、装置及存储介质 - Google Patents
一种运行内存的优化方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112948073A CN112948073A CN202110126953.2A CN202110126953A CN112948073A CN 112948073 A CN112948073 A CN 112948073A CN 202110126953 A CN202110126953 A CN 202110126953A CN 112948073 A CN112948073 A CN 112948073A
- Authority
- CN
- China
- Prior art keywords
- memory
- size
- operating memory
- application program
- operating
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种运行内存的优化方法、装置及存储介质,涉及电子设备技术领域,能够解决由于内存不足从而导致电子设备的性能降低的问题。该方法包括:确定电子设备的剩余运行内存的大小;若剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;若剩余运行内存的大小处于第二预设范围内,则执行内存回收操作;第二预设范围的最大值小于或者等于第一预设范围的最小值。
Description
技术领域
本发明涉及电子设备技术领域,尤其涉及一种运行内存的优化方法、装置及存储介质。
背景技术
目前电子设备(例如手机、平板电脑等)已经成为人们日常生活中最常用的消费型电子产品之一。
为了满足用户需求的多样性,电子设备可以安装很多方便用户使用的应用,如即时通讯应用、游戏应用等。但是,用户在使用应用时,时常会遇到由于内存不足从而导致电子设备的性能降低的问题,例如电子设备卡顿、出现应用程序未响应(application notresponse,ANR)提示消息等,影响用户体验。
发明内容
本申请实施例提供一种运行内存的优化方法、装置及存储介质,用于解决由于内存不足从而导致电子设备的性能降低的问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供了一种运行内存的优化方法,包括:确定电子设备的剩余运行内存的大小;若剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;若剩余运行内存的大小处于第二预设范围内,则执行内存回收操作;第二预设范围的最大值小于或者等于第一预设范围的最小值。
可选地,上述“执行内存回收操作”的方法具体包括:确定已占用运行内存的目标应用程序的优先级;当目标应用程序的优先级满足第一预设条件时,关闭目标应用程序。
可选地,上述“执行内存回收操作”的方法具体包括:确定已占用运行内存的目标应用程序的显示配置参数;当目标应用程序的显示配置参数满足第二预设条件时,关闭目标应用程序。
可选地,上述“确定电子设备的剩余运行内存的大小”的方法具体包括:
周期性的确定剩余运行内存的大小;剩余运行内存的大小的频率与剩余运行内存的大小成反比。
本申请提供的一种运行内存的优化方法,在确定电子设备的剩余运行内存的大小后,若剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;若剩余运行内存的大小处于第二预设范围内,则执行内存回收操作。这样一来,电子设备可以根据自身剩余运行内存,动态的清除运行内存中的缓存数据或者执行内存回收操作,避免了电子设备由于内存不足从而导致电子设备的性能降低的问题,提高了用户体验。
第二方面,提供了一种运行内存的优化装置,包括:确定单元和处理单元;确定单元,用于确定电子设备的剩余运行内存的大小;处理单元,用于若确定单元确定剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;处理单元,还用于若确定单元确定剩余运行内存的大小处于第二预设范围内,则执行内存回收操作;第二预设范围的最大值小于或者等于第一预设范围的最小值。
可选地,处理单元,具体用于:确定已占用运行内存的目标应用程序的优先级;当目标应用程序的优先级满足第一预设条件时,关闭目标应用程序。
可选地,处理单元,具体用于:确定已占用运行内存的目标应用程序的显示配置参数;当目标应用程序的显示配置参数满足第二预设条件时,关闭目标应用程序。
可选地,确定单元,具体用于:周期性的确定剩余运行内存的大小;剩余运行内存的大小的频率与剩余运行内存的大小成反比。
第三方面,提供一种运行内存的优化装置,包括存储器和处理器。存储器用于存储计算机执行指令,处理器与存储器通过总线连接。当运行内存的优化装置运行时,处理器执行存储器存储的计算机执行指令,以使运行内存的优化装置执行第一方面所述的运行内存的优化方法。
该运行内存的优化装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述运行内存的优化方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的运行内存的优化方法。
第五方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的运行内存的优化方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机存储介质上。其中,第一计算机存储介质可以与运行内存的优化装置的处理器封装在一起的,也可以与运行内存的优化装置的处理器单独封装,本申请实施例对此不作限定。
本发明中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请实施例中,上述运行内存的优化装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
本发明的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明实施例的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
在附图中:
图1为本申请实施例提供的一种运行内存的优化装置的硬件结构示意图;
图2为本申请实施例提供的又一种运行内存的优化装置的硬件结构示意图;
图3为本申请实施例提供的一种运行内存的优化方法的流程示意图;
图4为本申请实施例提供的又一种运行内存的优化方法的流程示意图;
图5为本申请实施例提供的又一种运行内存的优化方法的流程示意图;
图6为本申请实施例提供的又一种运行内存的优化方法的流程示意图;
图7为本申请实施例提供的一种运行内存的优化方法的验证示意图;
图8为本申请实施例提供的一种运行内存的优化装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
如背景技术所描述,用户在使用应用时,时常会遇到由于内存不足从而导致电子设备的性能降低的问题,例如电子设备卡顿、出现应用程序未响应(application notresponse,ANR)提示消息等,影响用户体验。
针对上述问题,本申请实施例提供了一种运行内存的优化方法,在确定电子设备的剩余运行内存的大小后,若剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;若剩余运行内存的大小处于第二预设范围内,则执行内存回收操作。这样一来,电子设备可以根据自身剩余运行内存,动态的清除运行内存中的缓存数据或者执行内存回收操作,避免了电子设备由于内存不足从而导致电子设备的性能降低的问题,提高了用户体验。
上述运行内存的优化装置可以为用于管理运行内存的设备,也可以为该设备中的芯片,还可以为该设备中的片上系统。
可选的,该设备可以是运行内存较低的电子设备,如儿童电子手表、学习机等低内存电子设备。
可选的,该设备还可以是物理机,例如:台式电脑,又称台式机或桌面机(desktopcomputer)、手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备。
可选的,上述运行内存的优化装置也可以通过部署在物理机上的虚拟机(virtualmachine,VM),实现上述运行内存的优化装置所要实现的功能。
为了便于理解,下面对本申请实施例中的运行内存的优化装置的结构进行描述。
图1示出了本申请实施例提供的运行内存的优化装置的一种硬件结构示意图。如图1所示,该运行内存的优化装置包括处理器11,存储器12、通信接口13、总线14。处理器11,存储器12以及通信接口13之间可以通过总线14连接。
处理器11是运行内存的优化装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器11可以是一个通用中央处理单元(central processingunit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器11可以包括一个或多个CPU,例如图1中所示的CPU 0和CPU 1。
存储器12可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器12可以独立于处理器11存在,存储器12可以通过总线14与处理器11相连接,用于存储指令或者程序代码。处理器11调用并执行存储器12中存储的指令或程序代码时,能够实现本发明实施例提供的运行内存的优化方法。
另一种可能的实现方式中,存储器12也可以和处理器11集成在一起。
通信接口13,用于与其他设备通过通信网络连接。所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口13可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线14,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图1示出的结构并不构成对该运行内存的优化装置的限定。除图1所示部件之外,该运行内存的优化装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图2示出了本申请实施例中运行内存的优化装置的另一种硬件结构。如图2所示,通信装置可以包括处理器21以及通信接口22。处理器21与通信接口22耦合。
处理器21的功能可以参考上述处理器11的描述。此外,处理器21还具备存储功能,可以参考上述存储器12的功能。
通信接口22用于为处理器21提供数据。该通信接口22可以是通信装置的内部接口,也可以是运行内存的优化装置对外的接口(相当于通信接口13)。
需要指出的是,图1(或图2)中示出的结构并不构成对运行内存的优化装置的限定,除图1(或图2)所示部件之外,该运行内存的优化装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合上述图1(或图2)示出的运行内存的优化装置,对本申请实施例提供的运行内存的优化方法进行详细介绍。
图3为本申请实施例提供的一种运行内存的优化方法的流程示意图。如图3所示,该运行内存的优化方法包括下述S301-S303。
S301、电子设备确定电子设备的剩余运行内存的大小。
具体的,电子设备在运行应用程序时,会占用运行内存的存储空间。在这种情况下,电子设备实时的确定电子设备的剩余运行内存的大小。
示例性的,以电子设备为安卓系统为例,电子设备确定电子设备的剩余运行内存的大小的方法为:读取内核节点中,/proc/meminfo的MemFree字段的值,以确定剩余运行内存的大小。
可选的,电子设备还可以通过dumpsys meminfo<package name>字段查看电子设备中的应用程序占用的运行内存的大小。
具体的,电子设备可以查看Native/Dalvik字段中的Heap信息,以确定JNI层和Java层的运行内存分配情况,如果发现Heap信息的值一直增长,则代表应用程序可能出现了内存泄漏。
当Native/Dalvik字段中的Heap信息的值一直增长到一定的数值,说明内存泄漏比较严重。在这种情况下,电子设备可以直接执行system.reboot重启系统,避免电子设备持续处于内存泄漏的状态。
电子设备还可以查看Total字段的中的PSS信息。PSS信息的值就是应用程序占据的运行内存大小,通过PSS信息可以确定应用程序占用运行内存的大小。
可选的,电子设备还可以读取内核节点中Cached字段的值,以确定运行内存中,缓存数据的大小。
可选的,电子设备还可以读取内核节点中Mem Total字段的值,以确定运行内存的总大小。
可选的,电子设备还可以根据中央处理器(central processing unit,CPU)的确定电子设备的剩余运行内存的大小。
应理解,电子设备的CPU使用率与电子设备的剩余运行内存的大小成反比。电子设备的CPU使用率越高,电子设备的剩余运行内存越少。相应的,电子设备的CPU使用率越低,电子设备的剩余运行内存越多。
可选的,电子设备还可以通过top|grep<package name>字段,持续监控应用程序的进程占用CPU的情况,进而根据应用程序的进程占用CPU的情况。
具体的,top|grep<package name>字段中,S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。CPU%表示应用程序当前所占用CPU的百分比。RSS(Resident Set Size)信息表示应用程序的实际使用物理内存(包含共享库占用的内存)。)PCY信息表示前台进程和后台进程。
可选的,电子设备还可以根据缓存数据的大小,确定电子设备的剩余运行内存的大小。由于缓存数据占用了运行内存的存储空间,因此,电子设备的缓存数据的大小与电子设备的剩余运行内存的大小成反比。电子设备的缓存数据越大,电子设备的剩余运行内存越少。相应的,电子设备的缓存数据越小,电子设备的剩余运行内存越多。
S302、若剩余运行内存的大小处于第一预设范围内,则电子设备清除运行内存中的缓存数据。
在确定电子设备的剩余运行内存的大小后,电子设备判断剩余运行内存的是否处于第一预设范围内。
示例性的,若电子设备的运行内存为1024兆字节(megabyte,MB),则第一预设范围可以是200MB-500MB。若剩余运行内存的大小处于200MB-500MB内(例如300MB),则确定电子设备剩余运行内存的大小处于第一预设范围内。
可选的,电子设备还可以根据电子设备的CPU使用率确定剩余运行内存的大小是否处于第一预设范围内。
示例性的,当电子设备的CPU使用率处于50%-80%时,则确定电子设备剩余运行内存的大小处于第一预设范围内。
可选的,电子设备还可以根据电子设备的缓存数据的大小确定剩余运行内存的大小是否处于第一预设范围内。
示例性的,当电子设备的缓存数据的大小处于运行内存的三分之一与运行内存的三分之二之间时,则确定电子设备剩余运行内存的大小处于第一预设范围内。
若剩余运行内存的大小大于第一预设范围的最大值,说明剩余运行内存的大小可以保证电子设备处于高性能的运行状态,因此,电子设备无需执行任何操作。
若剩余运行内存的大小处于第一预设范围内,说明剩余运行内存的大小无法保证电子设备处于高性能的运行状态,因此,电子设备清除运行内存中的缓存数据。
示例性的,若电子设备的运行内存为1024MB,则第一预设范围可以是200MB-500MB。若剩余运行内存的大小处于200MB-500MB内(例如300MB),说明剩余运行内存的大小无法保证电子设备处于高性能的运行状态,因此,电子设备清除运行内存中的缓存数据。
示例性的,以电子设备为安卓系统为例,电子设备清除运行内存中的缓存数据的具体方法包括:往内核节点/proc/sys/vm/drop caches中写入缓存清除指令,电子设备在接收到缓存清除指令后,清除运行内存中的缓存数据。
可选的,电子设备还可以清除运行内存中的垃圾数据,以保证电子设备处于高性能的运行状态。
示例性的,以安卓系统为例,电子设备可以主动调用函数System.gc清除运行内存中的垃圾数据。
S303、若剩余运行内存的大小处于第二预设范围内,则电子设备执行内存回收操作。
其中,第二预设范围的最大值小于或者等于第一预设范围的最小值。
若剩余运行内存的大小处于第二预设范围内,说明剩余运行内存的大小无法保证电子设备处于高性能的运行状态,且电子设备的剩余运存内存过低,因此,电子设备执行内存回收操作。
示例性的,若电子设备的运行内存为1024MB,则第二预设范围可以是100MB-200MB。若剩余运行内存的大小处于100MB-200MB内(例如150MB),说明剩余运行内存的大小无法保证电子设备处于高性能的运行状态,且电子设备的剩余运存内存过低,因此,电子设备执行内存回收操作。
示例性的,当电子设备的CPU使用率处于80%-90%时,则确定电子设备剩余运行内存的大小处于第二预设范围内。
示例性的,当电子设备的缓存数据的大小处于运行内存的三分之二与运行内存的五分之四之间时,则确定电子设备剩余运行内存的大小处于第二预设范围内。
可选的,结合图3,如图4所示,上述S303中,电子设备执行内存回收操作的方法具体包括:S401-S402。
S401、电子设备确定已占用运行内存的目标应用程序的优先级。
在执行内存回收操作时,由于占用运行内存的包括应用程序的运行数据,因此,电子设备确定已占用运行内存的目标应用程序的优先级。
示例性的,以安卓系统为例,安卓内核(android kernel)通过应用程序进程的oom_adj字段,确定已占用运行内存的应用程序的优先级。
应理解,oom_adj字段中的值越小,关闭应用程序的优先级越低,即该应用程序的重要程度较高。相应的,oom_adj字段中的值越大,关闭应用程序的优先级越高,即该应用程序的重要程度较低。
S402、当目标应用程序的优先级满足第一预设条件时,电子设备关闭目标应用程序。
在确定已占用运行内存的目标应用程序的优先级后,为了释放运行内存中的存储空间,电子设备判断目标应用程序的优先级是否满足第一预设条件。其中,第一预设条件可以是人为设定的,例如:优先级的值大于5等。
当目标应用程序的优先级满足第一预设条件时,电子设备关闭目标应用程序。
示例性的,以安卓系统为例,电子设备可以调用函数System.kill关闭目标应用程序。
可选的,第一预设条件还可以是应用程序处于僵死状态。
示例性的,当电子设备确定目标应用程序处于僵死状态时,还可以调用函数system.exit退出目标应用程序。
可选的,结合图3,如图5所示,上述S303中,电子设备执行内存回收操作的方法具体包括:S501-S502。
S501、电子设备确定已占用运行内存的目标应用程序的显示配置参数。
在执行内存回收操作时,由于占用运行内存的包括应用程序的显示配置(例如显示渲染效果、显示控件等),因此,电子设备确定已占用运行内存的目标应用程序的显示配置参数。
示例性的,以安卓系统为例,安卓Web View控件网页内播放视频和原生控件MedeaPlayer控件直接播放视频时,两者在运行内存中的占用量变化时与系统响应时间之间的关系为持续增长。当运行内存占用量较小时,系统或应用响应延迟与运行内存占用量之间呈线性关系,延迟增长缓慢。当运行内存达到一定阈值后之后,随着运行内存占用量的增加,增量逐渐趋缓,延迟增长较快;当运行内存超过一定阈值之后,由于LMK频繁杀掉后台进程,以及后台进程重启,导致响应延迟急剧上升。
由此可以看出,运行内存和其它资源在一定阈值之前使用效率最高,阈值之后是内存崩溃区间。采用Web View控件相对于采用原生控件Medea Player控件播放视频时,占用的运行内存较多,容易大概率造成长时间延迟的产生。保持运行内存工作在轻度负载状态时,可以最大限度地利用资源,和流畅的切换场景。
S502、当目标应用程序的显示配置参数满足第二预设条件时,电子设备降低目标应用程序的显示配置参数。
在确定已占用运行内存的目标应用程序的显示配置参数后,为了释放运行内存中的存储空间,电子设备判断目标应用程序的显示配置参数是否满足第二预设条件。其中,第二预设条件可以是人为设定的,例如:显示配置参数中的渲染参数的分辨率1080P。
当所述目标应用程序的显示配置参数满足第二预设条件时,电子设备降低所述目标应用程序的显示配置参数。
示例性的,在确定目标应用程序的显示配置参数满足第二预设条件时,电子设备可以将应用程序在网页内播放视频的控件Web View切换为原生控件Medea Player控件,并降低视频的分辨率。
可选的,结合图3,如图6所示,上述S301中,电子设备确定电子设备的剩余运行内存的大小的方法具体包括:S601。
S601、电子设备周期性的确定剩余运行内存的大小。
其中,剩余运行内存的大小的频率与剩余运行内存的大小成反比。
具体的,电子设备可以周期性的确定剩余运行内存的大小。当剩余运行内存的大小较低时,电子设备可以提高确定剩余运行内存的大小的频率。相应的,当剩余运行内存的大小较高时,电子设备可以降低确定剩余运行内存的大小的频率。
示例性的,当剩余运行内存的大小为500M时,电子设备可以以30秒为一个周期,确定剩余运行内存的大小的频率。当剩余运行内存的大小为200M时,电子设备可以以5秒为一个周期,确定剩余运行内存的大小的频率。
本申请提供的一种运行内存的优化方法,在确定电子设备的剩余运行内存的大小后,若剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;若剩余运行内存的大小处于第二预设范围内,则执行内存回收操作。这样一来,电子设备可以根据自身剩余运行内存,动态的清除运行内存中的缓存数据或者执行内存回收操作,避免了电子设备由于内存不足从而导致电子设备的性能降低的问题,提高了用户体验。
进一步地,为了验证本申请提供的运行内存的优化方法的可靠性,现对其进行验证。如图7所示,本申请提供的运行内存的优化方法随着时间的变化,剩余运行内存明显小于现有技术中的运行内存的优化方法。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对运行内存的优化装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图8所示,为本申请实施例提供的一种运行内存的优化装置的结构示意图。该运行内存的优化装置用于解决由于内存不足从而导致电子设备的性能降低的问题,例如用于执行图3-图6所示的运行内存的优化方法。运行内存的优化装置包括:确定单元801和处理单元802。
确定单元801,用于确定电子设备的剩余运行内存的大小。例如结合图3,确定单元801用于执行S301。
处理单元802,用于若确定单元801确定剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据。例如结合图3,处理单元802用于执行S302。
处理单元802,还用于若确定单元801确定剩余运行内存的大小处于第二预设范围内,则执行内存回收操作;第二预设范围的最大值小于或者等于第一预设范围的最小值。例如结合图3,处理单元802用于执行S303。
可选地,处理单元802,具体用于:确定已占用运行内存的目标应用程序的优先级。例如结合图4,处理单元802用于执行S401。
当目标应用程序的优先级满足第一预设条件时,关闭目标应用程序。例如结合图4,处理单元802用于执行S402。
可选地,处理单元802,具体用于:确定已占用运行内存的目标应用程序的显示配置参数。例如结合图5,处理单元802用于执行S501。
当目标应用程序的显示配置参数满足第二预设条件时,关闭目标应用程序。例如结合图5,处理单元802用于执行S502。
可选地,确定单元801,具体用于:周期性的确定剩余运行内存的大小;剩余运行内存的大小的频率与剩余运行内存的大小成反比。例如结合图6,确定单元801用于执行S601。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的运行内存的优化方法中,运行内存的优化装置执行的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的运行内存的优化方法中,运行内存的优化装置执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种运行内存的优化方法,其特征在于,包括:
确定电子设备的剩余运行内存的大小;
若所述剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;
若所述剩余运行内存的大小处于第二预设范围内,则执行内存回收操作;所述第二预设范围的最大值小于或者等于所述第一预设范围的最小值。
2.根据权利要求1所述的运行内存的优化方法,其特征在于,所述执行内存回收操作,包括:
确定已占用所述运行内存的目标应用程序的优先级;
当所述目标应用程序的优先级满足第一预设条件时,关闭所述目标应用程序。
3.根据权利要求1所述的运行内存的优化方法,其特征在于,所述执行内存回收操作,包括:
确定已占用所述运行内存的目标应用程序的显示配置参数;
当所述目标应用程序的显示配置参数满足第二预设条件时,降低所述目标应用程序的显示配置参数。
4.根据权利要求1所述的运行内存的优化方法,其特征在于,所述确定电子设备的剩余运行内存的大小,包括:
周期性的确定所述剩余运行内存的大小;所述剩余运行内存的大小的频率与所述剩余运行内存的大小成反比。
5.一种运行内存的优化装置,其特征在于,包括:确定单元和处理单元;
所述确定单元,用于确定电子设备的剩余运行内存的大小;
所述处理单元,用于若所述确定单元确定所述剩余运行内存的大小处于第一预设范围内,则清除运行内存中的缓存数据;
所述处理单元,还用于若所述确定单元确定所述剩余运行内存的大小处于第二预设范围内,则执行内存回收操作;所述第二预设范围的最大值小于或者等于所述第一预设范围的最小值。
6.根据权利要求5所述的运行内存的优化装置,其特征在于,所述处理单元,具体用于:
确定已占用所述运行内存的目标应用程序的优先级;
当所述目标应用程序的优先级满足第一预设条件时,关闭所述目标应用程序。
7.根据权利要求5所述的运行内存的优化装置,其特征在于,所述处理单元,具体用于:
确定已占用所述运行内存的目标应用程序的显示配置参数;
当所述目标应用程序的显示配置参数满足第二预设条件时,降低所述目标应用程序的显示配置参数。
8.根据权利要求5所述的运行内存的优化装置,其特征在于,所述确定单元,具体用于:
周期性的确定所述剩余运行内存的大小;所述剩余运行内存的大小的频率与所述剩余运行内存的大小成反比。
9.一种运行内存的优化装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;
当所述运行内存的优化装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述运行内存的优化装置执行如权利要求1-4任一项所述的运行内存的优化方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-4任一项所述的运行内存的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110126953.2A CN112948073A (zh) | 2021-01-29 | 2021-01-29 | 一种运行内存的优化方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110126953.2A CN112948073A (zh) | 2021-01-29 | 2021-01-29 | 一种运行内存的优化方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112948073A true CN112948073A (zh) | 2021-06-11 |
Family
ID=76239804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110126953.2A Pending CN112948073A (zh) | 2021-01-29 | 2021-01-29 | 一种运行内存的优化方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948073A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170882A (zh) * | 2023-11-01 | 2023-12-05 | 新华三信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
-
2021
- 2021-01-29 CN CN202110126953.2A patent/CN112948073A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170882A (zh) * | 2023-11-01 | 2023-12-05 | 新华三信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
CN117170882B (zh) * | 2023-11-01 | 2024-02-23 | 新华三信息技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11531625B2 (en) | Memory management method and apparatus | |
CN111352861B (zh) | 内存压缩方法、装置及电子设备 | |
KR100690804B1 (ko) | 휴대단말기의 메모리 정리 방법 | |
CN113778662B (zh) | 内存回收方法及装置 | |
CN107480074B (zh) | 一种缓存方法、装置及电子设备 | |
CN111338561B (zh) | 存储器控制器与存储器页面管理方法 | |
CN112214247B (zh) | 一种系统启动方法以及相关设备 | |
EP3964973A1 (en) | File loading method and apparatus, electronic device, and storage medium | |
CN110837480A (zh) | 缓存数据的处理方法及装置、计算机存储介质、电子设备 | |
CN114840450B (zh) | 一种存储空间整理方法及电子设备 | |
CN115794682A (zh) | 缓存替换方法及装置、电子设备、存储介质 | |
Courville et al. | Understanding storage I/O behaviors of mobile applications | |
CN111427804A (zh) | 一种减少缺页中断次数的方法、存储介质及智能终端 | |
CN112948073A (zh) | 一种运行内存的优化方法、装置及存储介质 | |
CN115421787A (zh) | 指令执行方法、装置、设备、系统、程序产品及介质 | |
CN115421909A (zh) | 内存管理方法、装置、电子设备及存储介质 | |
CN114721975A (zh) | 链表处理方法、装置、加速器、电路板、设备和存储介质 | |
EP4369191A1 (en) | Memory scanning method and apparatus | |
EP2757481A1 (en) | Caching method and caching system using dual disks | |
US9405470B2 (en) | Data processing system and data processing method | |
Jeong et al. | DaaC: device-reserved memory as an eviction-based file cache | |
CN112817769B (zh) | 游戏资源动态缓存方法、装置、存储介质与电子设备 | |
KR102334237B1 (ko) | 다중 포그라운드 어플리케이션을 위한 페이지 캐쉬 관리 방법 및 장치 | |
CN112817769A (zh) | 游戏资源动态缓存方法、装置、存储介质与电子设备 | |
CN115981565A (zh) | 存储器、数据存储方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |