CN110083450A - 内存回收方法、装置、电子设备及存储介质 - Google Patents
内存回收方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110083450A CN110083450A CN201910280452.2A CN201910280452A CN110083450A CN 110083450 A CN110083450 A CN 110083450A CN 201910280452 A CN201910280452 A CN 201910280452A CN 110083450 A CN110083450 A CN 110083450A
- Authority
- CN
- China
- Prior art keywords
- memory
- electronic equipment
- caton
- preset
- task
- 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
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/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/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
Abstract
本申请实施例公开了一种内存回收方法、装置、电子设备及存储介质,方法包括:在接收到待处理任务的内存申请后,检测电子设备为该待处理任务分配内存所消耗的时长;当该时长大于预设时长阈值时,确定电子设备当前是否满足预设的卡顿发生条件,若满足,则执行预置的内存回收操作。相较于现有技术而言,本申请能够在电子设备出现内存分配耗时较长,并满足卡顿发生条件的情况时,就主动执行内存回收操作,以保证待处理任务及时分配到足够的内存,从而能够有效的防止电子设备出现卡顿。
Description
技术领域
本发明涉及电子设备技术领域,尤其涉及一种内存回收方法、装置、电子设备及存储介质。
背景技术
随着科技的快速发展,电子设备中各种不同功能的应用程序层出不穷,但是,若电子设备中安装的应用程序过多,就有可能会出现过度占用内存,导致电子设备出现卡顿的现象。
现有的相关技术中,电子设备中一般配置有内存清理功能,当用户通过指定的操作触发该内存清理功能时,电子设备可以关闭后台运行的部分应用程序,从而可以释放系统内存中的部分缓存,缓解卡顿现象。但是上述内存清理功能往往需要人为主动触发,或者是在内存占用量达到某个特定阈值时才会触发,而此时电子设备可能早就已经出现了卡顿,这样难免会影响用户的使用体验。
发明内容
本申请提供一种内存回收方法、装置、电子设备及存储介质,可以在电子设备出现卡顿之前,就对内存进行回收,能够有效的防止电子设备出现卡顿。
具体的,本申请第一方面提供一种内存回收方法,该方法包括:
在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长;
当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件;
若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
本申请第二方面提供一种内存回收装置,该装置包括:
检测模块,用于在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长;
卡顿确定模块,用于当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件;
回收模块,用于若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
本申请实施例第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现第一方面的内存回收方法中的各个步骤。
本申请实施例第四方面提供一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的内存回收方法中的各个步骤。
本申请所提供的一种内存回收方法,包括:在接收到待处理任务的内存申请后,检测电子设备为该待处理任务分配内存所消耗的时长;当该时长大于预设时长阈值时,确定电子设备当前是否满足预设的卡顿发生条件,若满足,则执行预置的内存回收操作。相较于现有技术而言,本申请能够在电子设备出现内存分配耗时较长,并满足卡顿发生条件的情况时,就主动执行内存回收操作,以保证待处理任务及时分配到足够的内存,从而能够有效的防止电子设备出现卡顿。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种电子设备的结构框图;
图2为本申请实施例中内存回收方法的流程示意图;
图3为本申请实施例中内存回收方法的子流程示意图;
图4为本申请实施例中内存回收方法的另一子流程示意图;
图5为本申请实施例中内存回收方法的另一流程示意图;
图6为本申请实施例中内存回收装置的程序模块示意图;
图7为本申请实施例中内存回收装置的子程序模块示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,图1为本申请实施例中一种电子设备的结构框图。本申请实施例提供的内存回收方法可应用于如图1所示的电子设备100中。示例性的,电子设备100可以为移动或便携式并执行无线通信的各种类型的计算机系统设备中的任何一种(图1中只示例性的示出了一种形态)。具体的,电子设备100可以为移动电话或智能电话(例如,基于iPhone TM,基于Android TM的电话),便携式游戏设备(例如Nintendo DS TM,PlayStation PortableTM,Gameboy Advance TM,iPhone TM)、膝上型电脑、PDA(PersonalDigital Assistant,掌上电脑)、便携式互联网设备、音乐播放器以及数据存储设备,其它可穿戴设备(诸如智能手表)。在一些情况下,电子设备100可以执行多种功能(例如播放音乐,显示视频,存储图片以及接收和发送电话呼叫)。
其中,电子设备100可以包括存储和处理电路110。该存储和处理电路110可以包括存储器,例如硬盘驱动存储器、非易失性存储器(例如闪存或用于形成固态驱动器的其它电子可编程只读存储器等)、易失性存储器(例如静态或动态随机存取存储器等)等,本申请实施例不作限制。存储和处理电路110中的处理电路可以用于控制电子设备100的运转。该处理电路可以基于一个或多个微处理器、微控制器、数字信号处理器、基带处理器、功率管理单元、音频编解码器芯片、专用集成电路、显示驱动器集成电路等来实现。
存储和处理电路110可用于运行电子设备100中的软件,例如操作系统、应用软件等。这些软件可以用于执行一些控制操作,例如,基于照相机的图像采集,基于环境光传感器的环境光测量,基于接近传感器的接近传感器测量,基于诸如发光二极管的状态指示灯等状态指示器实现的信息显示功能,基于触摸传感器的触摸事件检测,与在多个(例如分层的)显示器上显示信息相关联的功能,与执行无线通信功能相关联的操作,与收集和产生音频信号相关联的操作,与收集和处理按钮按压事件数据相关联的控制操作,以及电子设备100中的其它功能等,本申请实施例不作限制。
电子设备100还可以包括输入-输出电路120。输入-输出电路120可用于使电子设备100实现数据的输入和输出,即允许电子设备100从外部设备接收数据和也允许电子设备100将数据从电子设备100输出至外部设备。输入-输出电路120可以进一步包括传感器121。传感器121可以包括环境光传感器,基于光和电容的接近传感器,触摸传感器(例如,基于光触摸传感器和/或电容式触摸传感器,其中,触摸传感器可以是触控显示屏的一部分,也可以作为一个触摸传感器结构独立使用),加速度传感器,和其它传感器等。
输入-输出电路120还可以包括一个或多个显示器,例如显示器122。显示器122可以包括液晶显示器,有机发光二极管显示器,电子墨水显示器,等离子显示器,使用其它显示技术的显示器中一种或者几种的组合。显示器122可以包括触摸传感器阵列(即,显示器122可以是触控显示屏)。触摸传感器可以是由透明的触摸传感器电极(例如氧化铟锡(ITO)电极)阵列形成的电容式触摸传感器,或者可以是使用其它触摸技术形成的触摸传感器,例如音波触控,压敏触摸,电阻触摸,光学触摸等,本申请实施例不作限制。
输入-输出电路120还可以包括通信单元123,通信单元123可以用于为电子设备100提供与外部设备通信的能力。通信单元123可以包括模拟和数字输入-输出接口电路,和基于射频信号和/或光信号的无线通信电路。通信单元123中的无线通信电路可以包括射频收发器电路、功率放大器电路、低噪声放大器、开关、滤波器和天线。举例来说,通信单元123中的无线通信电路可以包括用于通过发射和接收近场耦合电磁信号来支持近场通信(NearField Communication,NFC)的电路。例如,通信单元123可以包括近场通信天线和近场通信收发器。通信单元123还可以包括蜂窝电话收发器和天线,无线局域网收发器电路和天线等。
输入-输出电路120还可以进一步包括输入-输出单元124。输入-输出单元124可以包括按钮,操纵杆,点击轮,滚动轮,触摸板,小键盘,键盘,照相机,发光二极管和其它状态指示器等。
用户可以通过输入-输出电路120输入命令来控制电子设备100的操作,并且可以使用输入-输出电路120的输出数据以实现接收来自电子设备100的状态信息和其它输出。
基于上述电子设备100描述,本申请实施例提供一种内存回收方法,该方法主要应用于客户端,该客户端可以是上述电子设备100。
具体的,请参阅图2,图2为本申请实施例中内存回收方法的流程示意图,该方法包括:
步骤201、在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长。
具体的,电子设备中已安装的各个应用程序在生成待处理任务之后,则需要占用电子设备中的部分内存,才能在该电子设备运行,也就是说,当电子设备中有待处理任务生成时,该待处理任务需要向电子设备操作系统中的内存分配模块发送内存申请,以此来获取自身运行所需的内存。
其中,上述待处理任务可以包括应用启动任务、应用更新任务、音视频加载任务、文件下载任务、音视频播放任务、图片加载任务、数据搜索任务、文件加载任务等。
本实施例中,当电子设备操作系统接收到电子设备中待处理任务的内存申请之后,便会按照当前内存的占用情况,为上述待处理任务分配相应的内存。其中,本实施例可以将电子设备操作系统接收到待处理任务的内存申请的时刻作为起始时刻,将电子设备操作系统成功为上述待处理任务分配内存的时刻作为终止时刻,由起始时刻与终止时刻之间的时间差来确定电子设备为上述待处理任务分配内存所消耗的时长。
步骤202、当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件。
可以理解的是,当待处理任务向电子设备操作系统发送内存申请之后,若电子设备无法立即或快速为上述待处理任务分配内存,则上述待处理任务便无法立即运行,例如用户点击某个应用图标后,该应用并没有立即启动,而是延迟若干秒之后才启动,这样反馈到用户的主观感受便是卡顿的感觉。
本实施例中,可以预先按照大部分用户对卡顿时间的容忍限度,来设置一个时长阈值。例如,假设当用户点击某个应用图标之后,如果该应用能够在1秒之内启动,则大部分用户都表示无卡顿感觉,而如果该应用在1秒之后才启动,则部分用户会有卡顿感觉,此时可将上述时长阈值设置为1秒,如果电子设备为待处理任务分配内存所消耗的时长大于上述时长阈值时,则进一步确定电子设备当前是否满足预设的卡顿发生条件。
其中,本实施例中可以通过检测电子的流畅度或掉帧情况来确定电子设备当前是否满足预设的卡顿发生条件。
步骤203、若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
本实施例中,当电子设备为待处理任务分配内存所消耗的时长大于预设时长阈值,且电子设备当前满足预设的卡顿发生条件时,则执行预置的内存回收操作。
具体的,上述内存回收操作包括但不限于关闭某些处理任务。
本申请实施例所提供的内存回收方法,包括:在接收到待处理任务的内存申请后,检测电子设备为该待处理任务分配内存所消耗的时长;当该时长大于预设时长阈值时,确定电子设备当前是否满足预设的卡顿发生条件,若满足,则执行预置的内存回收操作。相较于现有技术而言,本申请能够在电子设备出现内存分配耗时较长,并满足卡顿发生条件的情况时,就主动执行内存回收操作,以保证待处理任务及时分配到足够的内存,从而能够有效的防止电子设备出现卡顿。
进一步地,基于上述实施例,参照图3,图3为本申请实施例中内存回收方法的子流程示意图,本申请实施例中,上述步骤202中确定电子设备当前是否满足预设的卡顿发生条件,具体可以包括如下步骤:
步骤301、检测所述电子设备当前是否存在掉帧。
步骤302、当所述电子设备当前存在掉帧,且在单位时间内的掉帧数大于预设掉帧阈值时,确定所述电子设备当前满足所述卡顿发生条件。
本实施例中,可以通过检测电子设备当前是否存在掉帧,来确定电子设备当前是否满足卡顿发生条件。其中,卡顿是指用户看到的应用运行过程中画面不流畅即画面停滞的现象;掉帧是指每帧画面绘制的时间大于标准绘制时间时出现的现象,可以将掉帧作为引起卡顿的原因之一,即画面掉帧会导致画面卡顿。因此可以通过检测电子设备当前是否存在掉帧,来确定电子设备当前是否满足卡顿发生条件。
其中,由于人眼能够识别的刷新频率有限,因此,电子设备在单位时间(如1秒)内的掉帧数较少时,并不会引起用户的注意,即只有当电子设备在单位时间内的掉帧数达到一定的数值之后,用户才会产生视觉卡顿的感觉。
本实施例中,为了在电子设备产生明显的卡顿之前,就及时对电子设备进行内存回收,可以先确定大部分用户在感受到卡顿时,电子设备在单位时间内的掉帧数,然后设置上述掉帧阈值的值小于该掉帧数,从而可以在电子设备出现卡顿之前,就能提前对电子设备进行内存回收操作。
本实施例所提供的内存回收方法,当检测到检测电子设备当前存在掉帧,且在单位时间内的掉帧数大于预设掉帧阈值时,即确定电子设备当前满足卡顿发生条件,进而可以在电子设备出现卡顿之前,对电子设备进行内存回收操作,能够有效的防止电子设备出现卡顿。
进一步地,基于上述实施例,请参阅图4,图4为本申请实施例中内存回收方法的另一子流程示意图,本申请实施例中,上述步骤203中执行预置的内存回收操作,具体可以包括如下步骤:
步骤401、确定当前占用内存的各个处理任务的内存占用信息。
步骤402、按照所述内存占用信息确定需要进行内存回收的目标处理任务。
步骤403、对已确定的目标处理任务进行内存回收。
具体的,本实施例中,可以按照占用内存的各个处理任务的内存占用信息,来确定需要进行内存回收的目标处理任务,例如为了回收更多的内存,可以将内存占用量较大的处理任务作为目标处理任务进行内存回收。或者,也可以有先对内存占用优先级较低的处理任务进行内存回收。
进一步的,上述内存占用信息具体可以包括内存占用优先级与内存占用量,上述步骤402中按照内存占用信息确定需要进行内存回收的目标处理任务,则具体包括以下步骤:
步骤a、按照所述各个处理任务对应的内存占用优先级与内存占用量,计算所述各个处理任务的回收指数。
步骤b、按照所述各个处理任务的回收指数的大小,确定需要进行内存回收的目标处理任务。
其中,内存占用量即为处理任务所占用内存的具体物理大小,而内存占用优先级则是指处理任务优先占用内存的级别。
其中,处理任务对应的内存占用优先级,可以按照以下方式由高到低进行划分:
前台处理任务:目前正在屏幕上显示的进程和一些系统进程。
可见处理任务:目前不再前台,但用户依然可见的进程,比如输入法、天气、时钟等。
服务处理任务:如拨号、邮件存储之类的。
后台处理任务:启动后被切换到后台运行的进程。
空处理任务:在处理任务退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,其作用往往是提高该处理任务下次的启动速度或者记录该处理任务的一些历史信息。
其中,可以预先对各个内存占用优先级制定一个系数,如内存占用优先级越高,则该内存占用优先级对应的系数越小,然后即可按照各个处理任务对应的内存占用优先级与内存占用量,计算各个处理任务的回收指数。具体的,假设某一处理任务的内存占用优先级对应的系数为K,该处理任务的内存占用量为H,则本实施例中,可以将K与H的和或者积作为该处理任务的回收指数。
可以理解的是,本实施例中,当处理任务对应的内存占用优先级越低、内存占用量越高时,该处理任务的回收指数越大。由此,本实施例可以优先对回收指数大于预设指数阈值的处理任务,进行内存回收操作,这样不仅可以快速有效地回收更多的内存,且还可以保障已有的内存占用优先级较高的处理任务继续正常运行。
进一步地,基于上述实施例,请参阅图5,图5为本申请实施例中内存回收方法的另一流程示意图,该内存回收方法包括:
步骤501、在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长。
步骤502、当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件。
其中,上述步骤501与步骤502描述的内容与上述实施例中的步骤201与步骤202描述的内容一致,具体可参照上述实施例中的步骤201与步骤202,在此不再赘述。
步骤503、若所述电子设备当前满足所述卡顿发生条件,确定所述电子设备当前的内存占用率是否大于预设的占用比例阈值。
步骤504、当所述电子设备当前的内存占用率大于所述占用比例阈值时,执行预置的内存回收操作。
其中,考虑到受电子设备硬件配置的影响,在电子设备内存充足的情况下,也可能存在启动某个处理任务时,出现卡顿的情况,然而由于这种卡顿并不是由于内存不足而引起的,因此并不需要进行内存回收操作。
本实施例中,为了更加准确的进行内存回收操作,需要在检测到待处理任务分配内存所消耗的时长大于预设时长阈值、电子设备当前满足预设的卡顿发生条件,以及电子设备当前的内存占用率大于占用比例阈值(如70%)时,才进行内存回收操作。
进一步地,本申请还提供一种内存回收装置600。请参阅图6,图6为本申请实施例中内存回收装置的程序模块示意图,该装置600包括:
检测模块601,用于在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长。
卡顿确定模块602,用于当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件。
回收模块603,用于若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
本申请实施例所提供的内存回收装置600,可以实现:在接收到待处理任务的内存申请后,检测电子设备为该待处理任务分配内存所消耗的时长;当该时长大于预设时长阈值时,确定电子设备当前是否满足预设的卡顿发生条件,若满足,则执行预置的内存回收操作。相较于现有技术而言,本申请能够在电子设备出现内存分配耗时较长,并满足卡顿发生条件的情况时,就主动执行内存回收操作,以保证待处理任务及时分配到足够的内存,从而能够有效的防止电子设备出现卡顿。
进一步地,基于上述实施例,本申请实施例中,上述卡顿确定模块602具体用于:
检测所述电子设备当前是否存在掉帧,当所述电子设备当前存在掉帧,且在单位时间内的掉帧数大于预设掉帧阈值时,确定所述电子设备当前满足所述卡顿发生条件。
本实施例所提供的内存回收装置600,当检测到检测电子设备当前存在掉帧,且在单位时间内的掉帧数大于预设掉帧阈值时,即确定电子设备当前满足卡顿发生条件,进而可以在电子设备出现卡顿之前,提前对电子设备进行内存回收操作,能够有效的防止电子设备出现卡顿。
进一步地,基于上述实施例,参照图7,图7为本申请实施例中内存回收装置的子程序模块示意图,本申请实施例中,上述回收模块603具体包括:
占用确定模块701,用于确定当前占用内存的各个处理任务的内存占用信息。
回收确定模块702,用于按照所述内存占用信息确定需要进行内存回收的目标处理任务。
回收执行模块703,用于对已确定的目标处理任务进行内存回收。
进一步的,上述内存占用信息包括内存占用优先级与内存占用量,回收确定模块702具体用于:
按照所述各个处理任务对应的内存占用优先级与内存占用量,计算所述各个处理任务的回收指数,并按照所述各个处理任务的回收指数的大小,确定需要进行内存回收的目标处理任务。
本实施例中,可以优先对回收指数大于预设指数阈值的处理任务进行内存回收操作,这样不仅可以快速有效地回收更多的内存,且还可以保障已有的内存占用优先级较高的处理任务继续正常运行。
进一步地,基于上述实施例,本实施例中,上述回收模块603还用于:
在所述电子设备当前满足所述卡顿发生条件时,确定所述电子设备当前的内存占用率是否大于预设的占用比例阈值;当所述电子设备当前的内存占用率大于所述占用比例阈值时,继续执行所述预置的内存回收操作。
即本实施例所提供的内存回收装置600,在检测到待处理任务分配内存所消耗的时长大于预设时长阈值、电子设备当前满足预设的卡顿发生条件,以及电子设备当前的内存占用率大于占用比例阈值(如70%)时,才进行内存回收操作,由此可以更加准确的进行内存回收操作。
进一步的,本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述任意一个实施例中的内存回收方法中的各个步骤。
示例性的,内存回收方法的计算机程序主要用于实现:在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长;当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件;若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。另外,计算机程序也可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算设备中的执行过程。例如,计算机程序可以被分割成如图6所示的检测模块601、卡顿确定模块602、回收模块603。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例还提供一种可读存储介质,该可读存储介质为计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述实施例中任意一个实施例中的内存回收方法中的各个步骤。
示例性的,内存回收方法的计算机程序主要用于实现:在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长;当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件;若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种内存回收方法、装置、电子设备及存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种内存回收方法,其特征在于,所述方法包括:
在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长;
当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件;
若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
2.如权利要求1所述的内存回收方法,其特征在于,所述确定所述电子设备当前是否满足预设的卡顿发生条件,包括:
检测所述电子设备当前是否存在掉帧;
当所述电子设备当前存在掉帧,且在单位时间内的掉帧数大于预设掉帧阈值时,确定所述电子设备当前满足所述卡顿发生条件。
3.如权利要求1所述的内存回收方法,其特征在于,所述执行预置的内存回收操作,包括:
确定当前占用内存的各个处理任务的内存占用信息;
按照所述内存占用信息确定需要进行内存回收的目标处理任务;
对已确定的目标处理任务进行内存回收。
4.如权利要求3所述的内存回收方法,其特征在于,所述内存占用信息包括内存占用优先级与内存占用量,所述按照所述内存占用信息确定需要进行内存回收的目标处理任务,包括:
按照所述各个处理任务对应的内存占用优先级与内存占用量,计算所述各个处理任务的回收指数;
按照所述各个处理任务的回收指数的大小,确定需要进行内存回收的目标处理任务。
5.如权利要求1至4任意一项所述的内存回收方法,其特征在于,所述若所述电子设备当前满足所述卡顿发生条件的步骤之后,还包括:
确定所述电子设备当前的内存占用率是否大于预设的占用比例阈值;
当所述电子设备当前的内存占用率大于所述占用比例阈值时,继续执行所述执行预置的内存回收操作的步骤。
6.一种内存回收装置,其特征在于,所述装置包括:
检测模块,用于在接收到待处理任务的内存申请后,检测电子设备为所述待处理任务分配内存所消耗的时长;
卡顿确定模块,用于当所述时长大于预设时长阈值时,确定所述电子设备当前是否满足预设的卡顿发生条件;
回收模块,用于若所述电子设备当前满足所述卡顿发生条件,则执行预置的内存回收操作。
7.如权利要求6所述的内存回收装置,其特征在于,所述卡顿确定模块具体用于:
检测所述电子设备当前是否存在掉帧,当所述电子设备当前存在掉帧,且在单位时间内的掉帧数大于预设掉帧阈值时,确定所述电子设备当前满足所述卡顿发生条件;
所述回收模块包括:
占用确定模块,用于确定当前占用内存的各个处理任务的内存占用信息;
回收确定模块,用于按照所述内存占用信息确定需要进行内存回收的目标处理任务;
回收执行模块,用于对已确定的目标处理任务进行内存回收。
8.如权利要求7所述的内存回收装置,其特征在于,所述内存占用信息包括内存占用优先级与内存占用量,所述回收确定模块具体用于:
按照所述各个处理任务对应的内存占用优先级与内存占用量,计算所述各个处理任务的回收指数,并按照所述各个处理任务的回收指数的大小,确定需要进行内存回收的目标处理任务。
9.如权利要求6至8任意一项所述的内存回收装置,其特征在于,所述回收模块还用于:
在所述电子设备当前满足所述卡顿发生条件时,确定所述电子设备当前的内存占用率是否大于预设的占用比例阈值;当所述电子设备当前的内存占用率大于所述占用比例阈值时,继续执行所述预置的内存回收操作。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至5任意一项所述的内存回收方法中的各个步骤。
11.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至5任意一项所述的内存回收方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280452.2A CN110083450A (zh) | 2019-04-09 | 2019-04-09 | 内存回收方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910280452.2A CN110083450A (zh) | 2019-04-09 | 2019-04-09 | 内存回收方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110083450A true CN110083450A (zh) | 2019-08-02 |
Family
ID=67414626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910280452.2A Pending CN110083450A (zh) | 2019-04-09 | 2019-04-09 | 内存回收方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083450A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532095A (zh) * | 2019-08-27 | 2019-12-03 | Oppo(重庆)智能科技有限公司 | 内存优化方法及装置、电子设备、存储介质 |
CN110727605A (zh) * | 2019-09-27 | 2020-01-24 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN110727606A (zh) * | 2019-09-27 | 2020-01-24 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN111405347A (zh) * | 2020-04-23 | 2020-07-10 | 成都极米科技股份有限公司 | 画面显示方法、装置、电子设备及可读存储介质 |
CN111638952A (zh) * | 2020-05-09 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 一种内存转储方法、装置及电子设备 |
CN111966493A (zh) * | 2020-08-07 | 2020-11-20 | Oppo广东移动通信有限公司 | 进程处理方法、电子设备及存储介质 |
CN112463358A (zh) * | 2020-10-29 | 2021-03-09 | 北京罗克维尔斯科技有限公司 | 内存管理方法、装置、车载系统以及车辆 |
CN116089319A (zh) * | 2022-08-30 | 2023-05-09 | 荣耀终端有限公司 | 内存处理方法及相关装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615143A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 用于内存泄漏诊断的方法和装置 |
US20100211754A1 (en) * | 2009-02-13 | 2010-08-19 | Crosby Peter Anthony | Memory utilization analysis |
CN105701025A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN107179949A (zh) * | 2016-12-16 | 2017-09-19 | 重庆大学 | 一种用于移动设备中操作系统内存分配流畅度的量化方法 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN108073458A (zh) * | 2017-12-28 | 2018-05-25 | 努比亚技术有限公司 | 内存回收方法、移动终端及计算机可读存储介质 |
CN108121602A (zh) * | 2017-12-14 | 2018-06-05 | 捷开通讯(深圳)有限公司 | 一种确定垃圾收集触发点的方法、电子设备及存储介质 |
CN108519923A (zh) * | 2018-03-01 | 2018-09-11 | 北京三快在线科技有限公司 | 一种卡顿检测方法及装置和电子设备 |
-
2019
- 2019-04-09 CN CN201910280452.2A patent/CN110083450A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615143A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 用于内存泄漏诊断的方法和装置 |
US20100211754A1 (en) * | 2009-02-13 | 2010-08-19 | Crosby Peter Anthony | Memory utilization analysis |
CN105701025A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN107220076A (zh) * | 2016-09-27 | 2017-09-29 | 华为技术有限公司 | 一种内存回收方法及装置 |
CN107179949A (zh) * | 2016-12-16 | 2017-09-19 | 重庆大学 | 一种用于移动设备中操作系统内存分配流畅度的量化方法 |
CN108121602A (zh) * | 2017-12-14 | 2018-06-05 | 捷开通讯(深圳)有限公司 | 一种确定垃圾收集触发点的方法、电子设备及存储介质 |
CN108073458A (zh) * | 2017-12-28 | 2018-05-25 | 努比亚技术有限公司 | 内存回收方法、移动终端及计算机可读存储介质 |
CN108519923A (zh) * | 2018-03-01 | 2018-09-11 | 北京三快在线科技有限公司 | 一种卡顿检测方法及装置和电子设备 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532095A (zh) * | 2019-08-27 | 2019-12-03 | Oppo(重庆)智能科技有限公司 | 内存优化方法及装置、电子设备、存储介质 |
CN110727605A (zh) * | 2019-09-27 | 2020-01-24 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN110727606A (zh) * | 2019-09-27 | 2020-01-24 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN110727605B (zh) * | 2019-09-27 | 2022-06-21 | Oppo(重庆)智能科技有限公司 | 内存回收方法、装置以及电子设备 |
CN111405347A (zh) * | 2020-04-23 | 2020-07-10 | 成都极米科技股份有限公司 | 画面显示方法、装置、电子设备及可读存储介质 |
CN111405347B (zh) * | 2020-04-23 | 2022-04-29 | 成都极米科技股份有限公司 | 画面显示方法、装置、电子设备及可读存储介质 |
CN111638952A (zh) * | 2020-05-09 | 2020-09-08 | 北京达佳互联信息技术有限公司 | 一种内存转储方法、装置及电子设备 |
CN111966493A (zh) * | 2020-08-07 | 2020-11-20 | Oppo广东移动通信有限公司 | 进程处理方法、电子设备及存储介质 |
CN111966493B (zh) * | 2020-08-07 | 2023-07-21 | Oppo广东移动通信有限公司 | 进程处理方法、电子设备及存储介质 |
CN112463358A (zh) * | 2020-10-29 | 2021-03-09 | 北京罗克维尔斯科技有限公司 | 内存管理方法、装置、车载系统以及车辆 |
CN116089319A (zh) * | 2022-08-30 | 2023-05-09 | 荣耀终端有限公司 | 内存处理方法及相关装置 |
CN116089319B (zh) * | 2022-08-30 | 2023-10-31 | 荣耀终端有限公司 | 内存处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083450A (zh) | 内存回收方法、装置、电子设备及存储介质 | |
EP3443446B1 (en) | Electronic device comprising force sensor | |
CN109062479B (zh) | 分屏应用切换方法、装置、存储介质和电子设备 | |
US9377868B2 (en) | Sliding control method and terminal device thereof | |
CN106855783A (zh) | 一种防误触的方法、装置及移动终端 | |
CN108984064B (zh) | 分屏显示方法、装置、存储介质和电子设备 | |
CN106681635A (zh) | 一种分屏防误触方法、装置及移动终端 | |
CN106200970B (zh) | 一种分屏显示的方法及终端 | |
CN111274039B (zh) | 内存回收方法、装置、存储介质及电子设备 | |
CN108334303B (zh) | 电子设备及其控制方法 | |
CN111338725A (zh) | 界面布局方法及相关产品 | |
CN109165075A (zh) | 应用显示方法、装置、电子设备及存储介质 | |
CN109407833A (zh) | 操控电子设备的方法、装置、电子设备及存储介质 | |
CN106708409B (zh) | 一种弹出菜单的响应方法、装置及移动终端 | |
CN108919997B (zh) | 提高电容式触摸屏识别精确度的方法及装置 | |
US20150193051A1 (en) | Touch system and touch-detecting method thereof | |
CN109144447A (zh) | 分屏窗口调节方法、装置、存储介质及电子设备 | |
CN109684011B (zh) | 界面显示控制方法、电子装置及计算机可读存储介质 | |
CN109101164B (zh) | 应用显示方法、装置、存储介质及电子设备 | |
CN111338745A (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN109885201B (zh) | 触摸屏触摸面积检测方法、电子装置及计算机可读存储介质 | |
CN110489177B (zh) | 应用控制方法、装置、存储介质及终端设备 | |
CN106919460A (zh) | 一种控制广播发送的方法、装置及移动终端 | |
CN109359453B (zh) | 解锁方法及相关产品 | |
CN109144721A (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 |