一种缓存回收方法和装置的制造方法_3

文档序号:9672987阅读:来源:国知局
进程处理单元还包括:优先级获取单元,用于扫描进程表后,获取所述进程表所指示的各进程的优先级;所述进程处理单元还用于根据所述优先级获取单元获取到的各进程的优先级,按照优先级从高到低的顺序对后台进程进行清除。
[0038]优选地,本实施例中的进程处理单元还用于:扫描并清除属于同一优先级的一组后台进程;判断清除所述一组后台进程后的空闲内存空间是否满足所述进程所需内存空间;若否,则按照页的活动性对内存进行回收,并判断回收之后的空闲内存空间是够满足所述进程所需内存空间;若否,则扫描并清除低于所述同一优先级的一组后台进程。
[0039]本申请实施例中,当扫描并清除完当前进程表的所有后台进程后,空闲的内存空间出现仍然不满足当前进程使用的情况时,没有像现有技术中Android回收缓存策略一样,直接将前台进程清除,而是执行回收缓存页的操作,如果对缓存页回收后,空闲的内存空间仍然不满足所需内存空间,则还要按照内存页的活动性对内存进行回收,如果仍不满足,则再次对进程表中的后台进行清除,如果仍不满足,则再对前台进程执行清除操作,如此,一方面,通过回收缓存页可以释放大块的缓存页所占空间,另一方面,整个内存回收过程增加了一轮对内存页的回收和对后台进程的清除,如此,在大多数的情况下,Android系统不需要在清除完后台进程后,直接将前台进程清除,从而避免了经常性地清除前台进程导致的用户当前使用的应用被经常性的强制关闭的情况,提高了系统回收缓存效率的同时,保证了用户的产品体验。
[0040]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0041]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0042]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
[0043]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0044]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种缓存回收方法,其特征在于,所述方法包括: 接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小; 根据所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间; 若否,则扫描进程表,并清除所述进程表中的后台进程; 判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间; 若否,则判断是否存在缓存页回收标记; 若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则清除所述进程表中的前台进程。2.如权利要求1所述的缓存回收方法,其特征在于,所述若否,则扫描进程表,并清除所述进程表的后台进程之前还包括: 若否,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。3.如权利要求2所述的缓存回收方法,其特征在于,所述判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间之后还包括: 若否,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。4.如权利要求1或2或3任一所述的缓存回收方法,其特征在于,所述扫描进程表,清除所述进程表中的后台进程具体包括: 扫描进程表后,获取所述进程表所指示的各进程的优先级; 根据获取到的各进程的优先级,按照优先级从高到低的顺序清除后台进程。5.如权利要求4所述的缓存回收方法,其特征在于,所述按照优先级从高到低的顺序对后台进程进行扫描并清除具体包括: 扫描并清除属于同一优先级的一组后台进程; 判断清除所述一组后台进程后的空闲内存空间是否满足所述进程所需内存空间; 若否,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是够满足所述进程所需内存空间; 若否,则扫描并清除低于所述同一优先级的一组后台进程。6.一种缓存回收装置,其特征在于,所述装置包括: 接收单元,用于接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小,并将所述所需内存空间的大小发送给判断单元; 判断单元,用于根据从所述接收单元获取到的所述所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间,并将判断结果发送给进程处理单元; 进程处理单元,用于若接收到的判断结果为否,则扫描进程表,并清除所述进程表中的后台进程,并判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间,并将判断结果发送给缓存页处理单元; 缓存页处理单元,用于若接收到的进程处理单元发送的判断结果为否,则判断是否存在缓存页回收标记,若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则将存在所述缓存页回收标记的通知发送给所述进程处理单元,由所述进程处理单元清除所述进程表中的前台进程。7.如权利要求6所述的缓存回收装置,其特征在于,所述缓存回收装置还包括: 内存页处理单元,设置在所述判断单元与所述进程处理单元之间,用于若判断单元判断当前空闲的内存空间不满足进程所申请的内存空间,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。8.如权利要求7所述的缓存回收装置,其特征在于,所述内存页处理单元还用于:若缓存页处理单元回收缓存页之后的空闲内存空间不满足进程所申请的内存空间,则按照内存页的活动性对内存进行回收,并判断回收之后的空闲内存空间是否满足所述进程所需内存空间。9.如权利要求6或7或8所述的缓存回收装置,其特征在于,所述进程处理单元还包括: 优先级获取单元,用于扫描进程表后,获取所述进程表所指示的各进程的优先级;所述进程处理单元还用于根据所述优先级获取单元获取到的各进程的优先级,按照优先级从高到低的顺序对后台进程进行清除。10.如权利要求9所述的缓存回收装置,其特征在于,所述进程处理单元还用于:扫描并清除属于同一优先级的一组后台进程; 判断清除所述一组后台进程后的空闲内存空间是否满足所述进程所需内存空间; 若否,则按照页的活动性对内存进行回收,并判断回收之后的空闲内存空间是够满足所述进程所需内存空间; 若否,则扫描并清除低于所述同一优先级的一组后台进程。
【专利摘要】本发明实施例公开了一种缓存回收方法,主要内容包括:接收进程发送的申请内存的请求信息,其中,所述请求信息携带有所述进程所需内存空间的大小;根据所述进程所需内存空间的大小,判断当前空闲的内存空间是否满足所述进程所需内存空间;若否,则扫描进程表,并清除所述进程表中的后台进程;判断清除后台进程之后的空闲内存空间是否满足所述进程所需内存空间;若否,则判断是否存在缓存页回收标记;若不存在所述缓存页回收标记,则回收缓存页,设置缓存页回收标记,并判断回收缓存页之后的空闲内存空间是否满足所述进程所需内存空间,若存在所述缓存页回收标记,则清除所述进程表中的前台进程,本申请提供的实施例在一定程度上提高了用户体验。
【IPC分类】G06F9/50
【公开号】CN105446814
【申请号】CN201410514143
【发明人】李秀勇
【申请人】青岛海信移动通信技术股份有限公司
【公开日】2016年3月30日
【申请日】2014年9月30日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1