CN105446814A - 一种缓存回收方法和装置 - Google Patents
一种缓存回收方法和装置 Download PDFInfo
- Publication number
- CN105446814A CN105446814A CN201410514143.4A CN201410514143A CN105446814A CN 105446814 A CN105446814 A CN 105446814A CN 201410514143 A CN201410514143 A CN 201410514143A CN 105446814 A CN105446814 A CN 105446814A
- Authority
- CN
- China
- Prior art keywords
- memory space
- reclaim
- page
- caching page
- processing unit
- 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
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种缓存回收方法,主要内容包括:接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小;根据所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间;若否,则扫描进程表,并清除所述进程表中的后台进程;判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间;若否,则判断是否存在缓存页回收标记;若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则清除所述进程表中的前台进程,本申请提供的实施例在一定程度上提高了用户体验。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种缓存回收方法和缓存回收装置。
背景技术
随着安卓(Android)操作系统的普及,在Android系统上可运行的应用程序也越来越丰富,许多应用程序为了提升运行效率和流畅性,在其安装并运行时,将应用程序的用户数据、临时文件以及音频、视频等资源作为缓存文件存储在Android设备的内存中,随着越来越多的应用被使用,缓存文件越来越多,就会导致内存空间不足。
针对内存空间不足的问题,现有技术中存在两种内存回收方法,一种是在进程申请内存的过程中,发现需求的内存空间不足时,发起内存页的回收动作,其回收的依据是通过内存页的活动性来判断的,即越不活动的内存页越容易被回收;另一种内存回收方法是Android系统按照优先级清除进程的方式进行内存回收,优先级越高的进程越容易被清除,后台进程的优先级高,前台进程的优先级低。这两种内存回收方式都集成在了Android系统的回收策略中,在Android系统运行过程中,一旦出现内存空间不足,就进行这两种内存回收方式。
但是,发明人发现,当前台活动的进程使用内存空间较多时,不活动的内存页相对较少,此时如果采用第一种回收方式,效果很差,然而如果采用第二种方式直接将一些进程清除掉,自然就能将这些进程占用的所有内存释放掉,但是随着系统运行的应用越来越多,内存空间的使用越来越大,越容易出现内存空间不足的情况,这样,在系统物理内存总量较少,而同时打开的程序又比较多的情况下,采用第二种方式会比较容易地将前台进程也清除,即将用户当前正在使用的应用关闭,严重影响用户体验。
发明内容
本申请实施例通过提供一种缓存回收方法,在不影响用户体验的同时,实现了内存的有效回收。
相应的,本申请实施例还提供了一种缓存回收装置,用以保证上述缓存回收方法的实现及应用。
本发明实施例采用一种缓存回收方法,所述方法包括:接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小;根据所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间;若否,则扫描进程表,并清除所述进程表中的后台进程;判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间;若否,则判断是否存在缓存页回收标记;若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则清除所述进程表中的前台进程。
本申请实施例提供的缓存回收方法中,当有进程申请内存空间,但是当前空闲的内存空间不满足该进程所述进程所需内存空间时,执行扫描进程表的操作,通过扫描进程表,执行清除后台进程的操作,当把所有的后台进程都清除后,判断当前空闲的内存空间是否满足所述进程所需内存空间,当此时的空闲内存空间仍不满足所述进程所需内存空间时,查询是否存在缓存页回收标记,判断是否已经进行了缓存页的回收,如果还没有对缓存页进行回收,则回收缓存页,如果已经进行过回收缓存页的操作,则清除进程表中的前台进程。本方案将回收缓存页的动作加入到了整个Android系统的内存回收策略中,提高了Android系统内存回收的效率,而且,由于在清除后台进程后,增加了缓存页的回收,降低了前台进程被清除的频率,从而,降低了将用户当前使用的应用程序强制关闭的频率,在一定程度上提高了用户体验。
基于同样的发明构思,本申请实施例还提供了一种缓存回收装置,该缓存回收装置包括:接收单元,用于接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小,并将所述进程所需内存空间的大小发送给判断单元;判断单元,用于根据从所述接收单元获取到的所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间,并将判断结果发送给进程处理单元;进程处理单元,用于若接收到的判断结果为否,则扫描进程表,并清除所述进程表中的后台进程,并判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间,并将判断结果发送给缓存页处理单元;缓存页处理单元,用于若接收到的进程处理单元发送的判断结果为否,则判断是否存在缓存页回收标记,若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则将存在所述缓存页回收标记的通知发送给所述进程处理单元,由所述进程处理单元清除所述进程表中的前台进程。
本申请实施例提供的缓存回收装置中,当接收单元接收到进程申请内存空间的请求信息,但是当前空闲的内存空间不满足该进程所述进程所需内存空间时,执行扫描进程表的操作,通过进程处理单元扫描进程表,执行清除后台进程的操作,当把所有的后台进程都清除后,判断当前空闲的内存空间是否满足所述进程所需内存空间,当此时的空闲内存空间仍不满足所述进程所需内存空间时,再通过缓存页处理单元查询是否存在缓存页回收标记,判断是否已经进行了缓存页的回收,如果还没有对缓存页进行回收,则回收缓存页,如果已经进行过回收缓存页的操作,则清除进程表中的前台进程。本方案将回收缓存页的动作加入到了整个Android系统的内存回收策略中,提高了Android系统内存回收的效率,而且,由于在清除后台进程后,增加了缓存页的回收,降低了前台进程被清除的频率,从而,降低了将用户当前使用的应用程序强制关闭的频率,在一定程度上提高了用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种缓存回收方法的步骤流程示意图;
图2为本申请另一实施例提供的一种缓存回收方法的步骤流程示意图;
图3为本申请实施例中清除后台进程的步骤流程示意图;
图4为本申请实施例提供的一种缓存回收装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
以下通过具体的实施例,结合说明书附图对本发明的技术方案进行详细描述,本发明包括但并不限于以下实施例。
如图1所示,本申请实施例提供的一种缓存回收方法包括:
步骤101:接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小。
以Android系统为例,现有技术中,基于Android系统的终端应用越来越丰富,这些应用程序的运行离不开执行程序的活动,也就是进程,这些进程由Android操作系统内核中的调度程序来管理,该调度程序负责维护一个有关计算机系统中现存进程的记录(也就是进程池),将新的进程加入到该进程池中,并把已经完成的进程移出进程池,这样,当用户请求执行一个应用时,调度程序就把这个应用加到当前进程池加以执行。而进程执行程序的过程中,会申请一些存储区以存放执行程序所需要的文件,本步骤中,当用户执行一个应用时,调度程序把用户请求执行的这个应用加到当前进程池中,执行该应用的进程就会向操作系统申请一定的内存空间,当操作系统的内核接收到进程发送的申请内存的请求信息时,获取该请求信息中包含的所申请内存空间的大小。
步骤102:根据所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间。
本步骤中,根据通过步骤101获取到的所需内存空间的大小,由操作系统的内核获取当前的空闲内存空间大小,并将获取到的当前内存空间的大小与获取到的所需内存空间大小进行比较,以判断当前空闲的内存空间是否满足所需内存空间。
步骤103:若当前空闲的内存空间不满足所述进程所需内存空间,则扫描进程表,并清除所述进程表中的后台进程。
本申请实施例中,如果当前空闲的内存空间不能满足申请内存的进程所需的内存空间时,采用清除后台进程的方式释放一部分内存空间。
优选地,如图2所示,在步骤103之前还包括步骤1021:若当前空闲的内存空间不满足所需空间,则按照内存页的活动性对内存进行回收,并判断回收内存页之后的空闲内存空间是否满足所述进程所需内存空间。
在该优选的实施例中,当目前的空闲内存空间不满足所述进程所需内存空间时,首先按照内存页的活动性对内存进行回收,考虑到后台程序的内存页活动性较低,为了实现内存的回收的同时,保证用户体验,在步骤1021中首先对活动性较低的内存页进行回收,但是这种回收内存的方式在前台活动使用的内存数量比较多的情况下,不活动的内存页的数量是较少的,所以回收内存的效率很低,当采用步骤1021进行内存回收后,如果回收之后的空闲内存空间仍然不满足所述进程所需内存空间,则采用步骤103的方式清除后台进程,以进一步回收内存。
优选地,在执行步骤时,首先通过扫描进程表,获取进程表中所指示的各进程的优先级,然后,根据获取到的各进程的优先级,按照优先级从高到低的顺序清除后台进程。
本优选的实施例中,优先级越高的进程,代表越不活动或不重要的后台进程,越容易被清除;优先级越低的进程,代表活动性高(比如前台进程)、或者对系统而言比较重要的进程,因此,优先级越高的进程,被清除的可能性越大。为了跟踪所有的进程,操作系统内核中的调度程序在主存中维护着一个信息块,这个信息块就是进程表,每当要请求程序执行时,调度程序都会在进程表中为该程序创建一个新的表项,这个表项中就包含有进程的优先级,因此,通过扫描进程表,可以获取到进程表中各个进程的优先级,一般情况下,优先级越高,进程越容易被清除,举例来说,假如设置从1~5共5个优先级,优先级为1即优先级最低的进程,往往是前台进程或者系统的关键进程。因此,优先级越低的进程,其重要性就越高,本申请实施例中,按照获取到的优先级的顺序对进程进行扫描和清除,可以保证重要性高的应用程序的进程不容易被清除,最大程度地保证用户体验。
进一步地,如图3所示,按照优先级从高到低的顺序对后台进程进行扫描并清除具体包括:
步骤301:扫描并清除属于同一优先级的一组后台进程。基于上述实施例,假设进程表中设置了1~5共5个优先级的进程,则优先级为5,4,3,2的基本上都是后台进程,本实施例中首先从优先级为5的后台进程开始清除,清除所有优先级为5的一组后台进程。
步骤302:判断清除一组后台进程后的空闲内存空间是否满足所需内存空间。
基于上述实施例,清除完一组优先级为5的后台进程后,判断当前的空闲内存空间是否满足所需内存空间。
步骤303:若当前的空闲内存空间不满足所需内存空间,则按照内存页的活动性对内存进行回收。此步骤与上述实施例中的步骤1021的执行内容相同,只是在不同的条件下执行,步骤1021是在有进程申请内存时,如果空闲的内存空间不满足其所需的内存的情况下执行,步骤303是在每次清除完一组后台进程时执行。
步骤304:判断回收之后的空闲内存空间是否满足所需内存空间。如果经过步骤304后,空闲的内存空间仍不满足所需内存空间,则对属于下一个优先级的后台进程进行清除,基于上述实施例,此时就对优先级为4的一组后台进程进行清除。
依此类推,当对所有的后台进程清除完毕后,执行步骤104:判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间,当申请缓存的进程所申请的缓存很大,比如camera进程,会在瞬间申请大块缓存,这时候在扫描当前进程表的过程中,扫描并清除完当前进程表的所有后台进程后,空闲的缓存空间可能会出现仍然不满足当前进程,此时执行步骤105:判断是否存在缓存页回收标记,其中,缓存页回收标记是在执行回收缓存页的操作之后设置的。如果不存在缓存页回收标记,则说明在进程申请内存空间,但是当前内存空间不满足所需内存空间后的回收内存过程中,还没有进行过缓存页的回收,此时回收缓存页,并设置缓存页回收标记,在回收缓存页之后,判断回收之后的内存空间是否满足所述进程所需内存空间。
优选地,在回收缓存页之后的空闲内存空间仍不满足进程所需内存空间时,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足进程所需内存空间,如果仍不满足,则再次执行清除进程表中的后台进程,而且,同样是清除进程表中的一组后台进程,由于进程是一个动态的活动,其属性会随着时间的推进而改变,因此,进程表是在用户使用过程中,或者说,在应用的运行过程中动态创建的,不同时刻的进程表可能会不同,此时清除的一组后台进程是在用户使用过程中,新生成的一组后台进程,该后台进程也有可能是前台进程切换生成的,清除完进程表的一组后台进程后,再次对空闲内存空间是否满足所需内存空间进行判断,若仍不满足,则在执行查找缓存页回收标记时,此时已经存在了缓存页回收标记,则说明在进程申请内存空间,但是当前内存空间不满足所需内存空间后的回收内存过程中,已经进行过缓存页的回收,此时就清除进程表中的前台进程。
本申请实施例中,当扫描并清除完当前进程表的所有后台进程后,空闲的内存空间出现仍然不满足当前进程使用的情况时,没有像现有技术中Android回收缓存策略一样,直接将前台进程清除,而是执行回收缓存页的操作,如果对缓存页回收后,空闲的内存空间仍然不满足所需内存空间,则还要按照内存页的活动性对内存进行回收,如果仍不满足,则再次对进程表中的后台进行清除,如果仍不满足,则再对前台进程执行清除操作,如此,一方面,通过回收缓存页可以释放大块的缓存页所占空间,另一方面,整个内存回收过程增加了一轮对内存页的回收和对后台进程的清除,如此,在大多数的情况下,Android系统不需要在清除完后台进程后,直接将前台进程清除,从而避免了经常性地清除前台进程导致的用户当前使用的应用被经常性的强制关闭的情况,提高了系统回收缓存效率的同时,保证了用户的产品体验。
综合上述实施例,本申请实施例提供的缓存回收方法中,当有进程申请内存空间,但是当前空闲的内存空间不满足该进程所述进程所需内存空间时,执行扫描进程表的操作,通过扫描进程表,得到进程表中各个进程的优先级,并根据获得的优先级顺序执行清除后台进程的操作,当把所有的后台进程都清除后,判断当前空闲的内存空间是否满足所述进程所需内存空间,当此时的空闲内存空间仍不满足所述进程所需内存空间时,查询是否存在缓存页回收标记,判断是否已经进行了缓存页的回收,如果还没有对缓存页进行回收,则回收缓存页,如果已经进行过回收缓存页的操作,则清除进程表中的前台进程。本方案将回收缓存页的动作加入到了整个Android系统的内存回收策略中,提高了Android系统内存回收的效率,而且,由于在清除后台进程后,增加了缓存页的回收,降低了前台进程被清除的频率,从而,降低了将用户当前使用的应用程序强制关闭的频率,在一定程度上提高了用户体验。
基于同样的发明构思,如图4,本申请实施例还提供了一种缓存回收装置,该缓存回收装置包括:接收单元401,用于接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小,并将所述所需内存空间的大小发送给判断单元402;判断单元402,用于根据从所述接收单元获取到的所述所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间,并将判断结果发送给进程处理单元403;进程处理单元403,用于若接收到的判断结果为否,则扫描进程表,并清除所述进程表中的后台进程,并判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间,并将判断结果发送给缓存页处理单元404;缓存页处理单元404,用于若接收到的进程处理单元发送的判断结果为否,则判断是否存在缓存页回收标记,若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则将存在所述缓存页回收标记的通知发送给所述进程处理单元,由所述进程处理单元清除所述进程表中的前台进程。
优选地,本实施例中的缓存回收装置还包括:内存页处理单元,设置在所述判断单元与所述进程处理单元之间,用于若判断单元判断当前空闲的内存空间不满足进程所申请的内存空间,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。
优选地,本实施例中的内存页处理单元还用于:若回收缓存页之后的空闲内存空间不满足进程所申请的内存空间,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。
优选地,本实施例中的进程处理单元还包括:优先级获取单元,用于扫描进程表后,获取所述进程表所指示的各进程的优先级;所述进程处理单元还用于根据所述优先级获取单元获取到的各进程的优先级,按照优先级从高到低的顺序对后台进程进行清除。
优选地,本实施例中的进程处理单元还用于:扫描并清除属于同一优先级的一组后台进程;判断清除所述一组后台进程后的空闲内存空间是否满足所述进程所需内存空间;若否,则按照页的活动性对内存进行回收,并判断回收之后的空闲内存空间是够满足所述进程所需内存空间;若否,则扫描并清除低于所述同一优先级的一组后台进程。
本申请实施例中,当扫描并清除完当前进程表的所有后台进程后,空闲的内存空间出现仍然不满足当前进程使用的情况时,没有像现有技术中Android回收缓存策略一样,直接将前台进程清除,而是执行回收缓存页的操作,如果对缓存页回收后,空闲的内存空间仍然不满足所需内存空间,则还要按照内存页的活动性对内存进行回收,如果仍不满足,则再次对进程表中的后台进行清除,如果仍不满足,则再对前台进程执行清除操作,如此,一方面,通过回收缓存页可以释放大块的缓存页所占空间,另一方面,整个内存回收过程增加了一轮对内存页的回收和对后台进程的清除,如此,在大多数的情况下,Android系统不需要在清除完后台进程后,直接将前台进程清除,从而避免了经常性地清除前台进程导致的用户当前使用的应用被经常性的强制关闭的情况,提高了系统回收缓存效率的同时,保证了用户的产品体验。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种缓存回收方法,其特征在于,所述方法包括:
接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小;
根据所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间;
若否,则扫描进程表,并清除所述进程表中的后台进程;
判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间;
若否,则判断是否存在缓存页回收标记;
若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则清除所述进程表中的前台进程。
2.如权利要求1所述的缓存回收方法,其特征在于,所述若否,则扫描进程表,并清除所述进程表的后台进程之前还包括:
若否,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。
3.如权利要求2所述的缓存回收方法,其特征在于,所述判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间之后还包括:
若否,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。
4.如权利要求1或2或3任一所述的缓存回收方法,其特征在于,所述扫描进程表,清除所述进程表中的后台进程具体包括:
扫描进程表后,获取所述进程表所指示的各进程的优先级;
根据获取到的各进程的优先级,按照优先级从高到低的顺序清除后台进程。
5.如权利要求4所述的缓存回收方法,其特征在于,所述按照优先级从高到低的顺序对后台进程进行扫描并清除具体包括:
扫描并清除属于同一优先级的一组后台进程;
判断清除所述一组后台进程后的空闲内存空间是否满足所述进程所需内存空间;
若否,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是够满足所述进程所需内存空间;
若否,则扫描并清除低于所述同一优先级的一组后台进程。
6.一种缓存回收装置,其特征在于,所述装置包括:
接收单元,用于接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小,并将所述所需内存空间的大小发送给判断单元;
判断单元,用于根据从所述接收单元获取到的所述所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间,并将判断结果发送给进程处理单元;
进程处理单元,用于若接收到的判断结果为否,则扫描进程表,并清除所述进程表中的后台进程,并判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间,并将判断结果发送给缓存页处理单元;
缓存页处理单元,用于若接收到的进程处理单元发送的判断结果为否,则判断是否存在缓存页回收标记,若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则将存在所述缓存页回收标记的通知发送给所述进程处理单元,由所述进程处理单元清除所述进程表中的前台进程。
7.如权利要求6所述的缓存回收装置,其特征在于,所述缓存回收装置还包括:
内存页处理单元,设置在所述判断单元与所述进程处理单元之间,用于若判断单元判断当前空闲的内存空间不满足进程所申请的内存空间,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。
8.如权利要求7所述的缓存回收装置,其特征在于,所述内存页处理单元还用于:若缓存页处理单元回收缓存页之后的空闲内存空间不满足进程所申请的内存空间,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。
9.如权利要求6或7或8所述的缓存回收装置,其特征在于,所述进程处理单元还包括:
优先级获取单元,用于扫描进程表后,获取所述进程表所指示的各进程的优先级;
所述进程处理单元还用于根据所述优先级获取单元获取到的各进程的优先级,按照优先级从高到低的顺序对后台进程进行清除。
10.如权利要求9所述的缓存回收装置,其特征在于,所述进程处理单元还用于:扫描并清除属于同一优先级的一组后台进程;
判断清除所述一组后台进程后的空闲内存空间是否满足所述进程所需内存空间;
若否,则按照页的活动性对内存进行回收,并判断回收之后的空闲内存空间是够满足所述进程所需内存空间;
若否,则扫描并清除低于所述同一优先级的一组后台进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410514143.4A CN105446814A (zh) | 2014-09-30 | 2014-09-30 | 一种缓存回收方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410514143.4A CN105446814A (zh) | 2014-09-30 | 2014-09-30 | 一种缓存回收方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105446814A true CN105446814A (zh) | 2016-03-30 |
Family
ID=55557049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410514143.4A Pending CN105446814A (zh) | 2014-09-30 | 2014-09-30 | 一种缓存回收方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446814A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196901A (zh) * | 2017-12-25 | 2018-06-22 | 山东浪潮通软信息科技有限公司 | 一种浏览器中摄像头的加载方法及装置 |
CN108228342A (zh) * | 2017-08-10 | 2018-06-29 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108228449A (zh) * | 2017-08-15 | 2018-06-29 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108280031A (zh) * | 2017-12-22 | 2018-07-13 | 努比亚技术有限公司 | redis缓存清理方法、服务器及计算机可读存储介质 |
CN108306913A (zh) * | 2017-01-12 | 2018-07-20 | 中兴通讯股份有限公司 | 一种数据处理方法、装置、计算机可读存储介质及终端 |
CN109254850A (zh) * | 2018-09-30 | 2019-01-22 | 深圳市万普拉斯科技有限公司 | 存储器资源管理方法及系统 |
CN110018900A (zh) * | 2018-01-10 | 2019-07-16 | 广东欧珀移动通信有限公司 | 内存处理方法和装置、电子设备、计算机可读存储介质 |
CN110032421A (zh) * | 2019-04-18 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 内存中图集的管理方法、装置、终端及存储介质 |
CN110162396A (zh) * | 2018-02-14 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 内存回收方法、装置、系统和存储介质 |
CN110489232A (zh) * | 2019-08-12 | 2019-11-22 | 新华三技术有限公司成都分公司 | 资源隔离方法、装置、电子设备及存储介质 |
CN110858178A (zh) * | 2018-08-07 | 2020-03-03 | 广州小鹏汽车科技有限公司 | 一种内存回收方法、装置、设备及介质 |
CN111078587A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111078406A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存管理方法、装置、存储介质及电子设备 |
CN111221650A (zh) * | 2019-12-31 | 2020-06-02 | 青岛海尔科技有限公司 | 基于进程类型关联的系统资源回收方法及装置 |
CN111258926A (zh) * | 2020-02-26 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 内存回收方法、装置、存储介质和计算机设备 |
CN111625351A (zh) * | 2020-05-12 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 文件页的回收方法和装置、终端和可读存储介质 |
CN111638956A (zh) * | 2020-05-28 | 2020-09-08 | 腾讯科技(深圳)有限公司 | 一种应用的运行方法、设备及存储介质 |
CN111966646A (zh) * | 2020-08-17 | 2020-11-20 | 青岛海信传媒网络技术有限公司 | 文件缓存方法和显示设备 |
CN113986540A (zh) * | 2021-10-25 | 2022-01-28 | 苏州浪潮智能科技有限公司 | 定时回收linux高速缓存的方法和装置 |
-
2014
- 2014-09-30 CN CN201410514143.4A patent/CN105446814A/zh active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306913A (zh) * | 2017-01-12 | 2018-07-20 | 中兴通讯股份有限公司 | 一种数据处理方法、装置、计算机可读存储介质及终端 |
CN108228342B (zh) * | 2017-08-10 | 2021-02-09 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108228342A (zh) * | 2017-08-10 | 2018-06-29 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108228449A (zh) * | 2017-08-15 | 2018-06-29 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108228449B (zh) * | 2017-08-15 | 2021-02-19 | 珠海市魅族科技有限公司 | 终端设备控制方法及装置、终端设备及计算机可读存储介质 |
CN108280031A (zh) * | 2017-12-22 | 2018-07-13 | 努比亚技术有限公司 | redis缓存清理方法、服务器及计算机可读存储介质 |
CN108196901A (zh) * | 2017-12-25 | 2018-06-22 | 山东浪潮通软信息科技有限公司 | 一种浏览器中摄像头的加载方法及装置 |
CN110018900A (zh) * | 2018-01-10 | 2019-07-16 | 广东欧珀移动通信有限公司 | 内存处理方法和装置、电子设备、计算机可读存储介质 |
CN110018900B (zh) * | 2018-01-10 | 2023-01-24 | Oppo广东移动通信有限公司 | 内存处理方法和装置、电子设备、计算机可读存储介质 |
CN110162396A (zh) * | 2018-02-14 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 内存回收方法、装置、系统和存储介质 |
CN110858178A (zh) * | 2018-08-07 | 2020-03-03 | 广州小鹏汽车科技有限公司 | 一种内存回收方法、装置、设备及介质 |
CN109254850A (zh) * | 2018-09-30 | 2019-01-22 | 深圳市万普拉斯科技有限公司 | 存储器资源管理方法及系统 |
CN110032421A (zh) * | 2019-04-18 | 2019-07-19 | 腾讯科技(深圳)有限公司 | 内存中图集的管理方法、装置、终端及存储介质 |
CN110489232A (zh) * | 2019-08-12 | 2019-11-22 | 新华三技术有限公司成都分公司 | 资源隔离方法、装置、电子设备及存储介质 |
CN111078587B (zh) * | 2019-12-10 | 2022-05-06 | Oppo(重庆)智能科技有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111078587A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111078406A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存管理方法、装置、存储介质及电子设备 |
CN111221650A (zh) * | 2019-12-31 | 2020-06-02 | 青岛海尔科技有限公司 | 基于进程类型关联的系统资源回收方法及装置 |
CN111258926A (zh) * | 2020-02-26 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 内存回收方法、装置、存储介质和计算机设备 |
CN111625351A (zh) * | 2020-05-12 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 文件页的回收方法和装置、终端和可读存储介质 |
CN111638956A (zh) * | 2020-05-28 | 2020-09-08 | 腾讯科技(深圳)有限公司 | 一种应用的运行方法、设备及存储介质 |
CN111966646A (zh) * | 2020-08-17 | 2020-11-20 | 青岛海信传媒网络技术有限公司 | 文件缓存方法和显示设备 |
CN111966646B (zh) * | 2020-08-17 | 2024-05-14 | Vidaa(荷兰)国际控股有限公司 | 文件缓存方法和显示设备 |
CN113986540A (zh) * | 2021-10-25 | 2022-01-28 | 苏州浪潮智能科技有限公司 | 定时回收linux高速缓存的方法和装置 |
CN113986540B (zh) * | 2021-10-25 | 2024-05-10 | 苏州浪潮智能科技有限公司 | 定时回收linux高速缓存的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446814A (zh) | 一种缓存回收方法和装置 | |
CN104461744A (zh) | 一种资源分配方法及装置 | |
CN103412825B (zh) | 一种内存释放方法及装置 | |
CN103473142B (zh) | 一种云计算操作系统下的虚拟机迁移方法及装置 | |
CN103760966A (zh) | 一种实现图形缓冲的方法 | |
CN105718815A (zh) | 一种系统文件自动清理方法及装置 | |
CN105260294A (zh) | 一种应用程序占用内存的监控方法及装置 | |
CN103678337A (zh) | 数据清除方法、装置及系统 | |
CN103034538A (zh) | 一种嵌入式操作系统中驱动程序的多级缓存处理方法 | |
CN107562851B (zh) | 一种数据的更新方法、装置及电子设备 | |
CN103677674A (zh) | 一种数据处理方法及装置 | |
CN104699529A (zh) | 一种信息获取方法及装置 | |
CN108536609B (zh) | 内存碎片管理系统及方法 | |
CN102831016B (zh) | 一种云计算的物理机回收方法及其装置 | |
CN106406747A (zh) | 一种移动终端硬盘存储管理和装置 | |
WO2017185263A1 (zh) | 一种内存回收方法及装置 | |
CN105278877A (zh) | 一种对象存储方法和装置 | |
Li et al. | AiluRus: a scalable ViT framework for dense prediction | |
CN111783102A (zh) | 一种安全驱逐Kubernetes集群中节点的方法和存储设备 | |
CN103714059A (zh) | 一种更新数据的方法及装置 | |
CN103778220A (zh) | 一种基于云计算的决策支持方法和装置 | |
CN102508783A (zh) | 一种避免数据混乱的内存回收方法 | |
CN103793266A (zh) | 插件管理装置 | |
CN107193651B (zh) | 双系统内存共享方法及装置 | |
CN103186597A (zh) | 硬盘扩容方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160330 |