内存空间回收方法、装置和电子设备与流程

文档序号:11154878阅读:709来源:国知局
内存空间回收方法、装置和电子设备与制造工艺

本发明涉及计算机技术领域,尤其涉及一种内存空间回收方法、装置和电子设备。



背景技术:

目前,终端设备已经成为人们日常生活中获取信息的重要工具。由此,终端设备安装有直播软件、新闻软件和社交软件等软件以满足用户需求。

然而,终端设备的内存有限,上述各个软件的内容图片比较多,占用内存比较大,比如同时打开多个页面,会出现内存不足的情况。

相关技术中,通过回收之前打开的页面所占用的内存空间,导致用户返回之前页面时需要重新加载,效率比较低。或者,仅仅给用户发送内存不足的提示消息,造成系统运行效率低。



技术实现要素:

本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种内存空间回收方法,该方法能够使系统一直处于内存充裕状态,提高加载效率,且提高系统运行速度,提高用户体验。

本发明的第二个目的在于提出一种内存空间回收装置。

本发明的第三个目的在于提出一种电子设备。

本发明的第四个目的在于提出一种非临时性计算机可读存储介质。

本发明的第五个目的在于提出一种计算机程序产品。

为达上述目的,本发明第一方面实施例提出了一种内存空间回收方法,包括:将目标资源加载到设备内存,其中,所述目标资源被系统强引用;若检测到所述目标资源满足预设的解除条件,则解除所述系统对所述目标资源的强引用;当检测到所述设备内存满足预设的回收条件时,对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

本发明实施例的内存空间回收方法,通过将被系统强引用的目标资源加载到设备内存,并在检测到目标资源满足预设的解除条件时解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,提高重新加载效率,且提高系统运行速度,提高用户体验。

另外,根据本发明上述实施例的内存空间回收方法还可以具有如下附加的技术特征:

可选地,所述将目标资源加载到设备内存,包括:将网页中的图片资源加载到设备内存中;和/或,将网页中的视频资源加载到设备内存中;和/或,将应用程序中的多媒体资源加载到设备内存中。

可选地,所述检测到所述目标资源满足预设的解除条件,包括:检测到系统对所述目标资源执行强引用解除指令;或者,检测到系统对所述目标资源执行弱引用或者软引用转换指令;或者,监测到系统对所述目标资源所在的网页执行不可见的回调指令;或者,监测到系统对所述目标资源本身执行不可见的回调指令;或者,监测到用户对所述目标资源所在的网页调用不可见函数;或者,监测到用户对所述目标资源本身调用不可见函数。

可选地,在所述若检测到所述目标资源满足预设的解除条件之后,还包括:检测预设时间内是否接收到对所述目标资源的获取请求;所述解除所述系统对所述目标资源的强引用,包括:若检测获知所述预设时间内没有接收到对所述目标资源的获取请求,则解除所述系统对所述目标资源的强引用。

可选地,所述解除所述系统对所述目标资源的强引用,包括:解除所述系统对所述目标资源的引用;或者将所述系统对所述目标资源的强引用转换为弱引用或者软引用。

可选地,所述检测到所述设备内存满足预设的回收条件,包括:检测到所述设备内存中空闲的内存空间小于预设阈值;或者,检测到所述设备内存中空闲的内存空间小于待加载的资源所需的内存空间。

可选地,所述设备内存中没有被所述系统强引用的资源,包括:所述设备内存中被所述系统弱引用或软引用的资源;和/或,所述设备内存中没有被系统引用的资源。

可选地,对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收,包括:根据预设的回收指标对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收;或者,根据待加载的资源所需的内存空间对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

可选地,所述的方法,还包括:获取从回收的内存空间中所删除资源的标识信息与路径信息;记录所述标识信息与所述路径信息的对应关系。

可选地,所述的方法,还包括:接收携带标识信息的资源获取请求;检测与所述标识信息对应的资源是否在所述设备内存中;如果所述资源在所述设备内存中,则直接从所述设备内存中获取所述资源;如果所述资源不在所述设备内存中,则根据所述对应关系获取与所述标识信息对应的路径信息,进而根据所述路径信息获取所述资源。

为达上述目的,本发明第二方面实施例提出了一种内存空间回收装置,包括:加载模块,用于将目标资源加载到设备内存,其中,所述目标资源被系统强引用;第一检测模块,用于检测所述目标资源是否满足预设的解除条件;解除模块,用于在检测到所述目标资源满足预设的解除条件时,解除所述系统对所述目标资源的强引用;回收模块,用于当检测到所述设备内存满足预设的回收条件时,对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

本发明实施例的内存空间回收装置,通过将被系统强引用的目标资源加载到设备内存,并在检测到目标资源满足预设的解除条件时解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,提高加载效率,且提高系统运行速度,提高用户体验。

另外,根据本发明上述实施例的内存空间回收装置还可以具有如下附加的技术特征:

可选地,所述加载模块用于:将网页中的图片资源加载到设备内存中;和/或,将网页中的视频资源加载到设备内存中;和/或,将应用程序中的多媒体资源加载到设备内存中。

可选地,所述解除模块具体用于:检测到系统对所述目标资源执行强引用解除指令;或者,检测到系统对所述目标资源执行弱引用或者软引用转换指令;或者,监测到系统对所述目标资源所在的网页执行不可见的回调指令;或者,监测到系统对所述目标资源本身执行不可见的回调指令;或者,监测到用户对所述目标资源所在的网页调用不可见函数;或者,监测到用户对所述目标资源本身调用不可见函数。

可选地,所述的装置,还包括:第二检测模块,用于在所述第一检测模块检测到所述目标资源满足预设的解除条件之后,检测预设时间内是否接收到对所述目标资源的获取请求;所述解除模块还用于:在检测获知所述预设时间内没有接收到对所述目标资源的获取请求时,解除所述系统对所述目标资源的强引用。

可选地,所述解除模块具体还用于:解除所述系统对所述目标资源的引用;或者,将所述系统对所述目标资源的强引用转换为弱引用或者软引用。

可选地,所述回收模块具体用于:检测到所述设备内存中空闲的内存空间小于预设阈值;或者,检测到所述设备内存中空闲的内存空间小于待加载的资源所需的内存空间。

可选地,所述设备内存中没有被所述系统强引用的资源,包括:所述设备内存中被所述系统弱引用或软引用的资源;和/或,所述设备内存中没有被系统引用的资源。

可选地,所述回收模块具体还用于:根据预设的回收指标对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收;或者,根据待加载的资源所需的内存空间对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

可选地,所述的装置,还包括:获取模块,用于获取从回收的内存空间中所删除资源的标识信息与路径信息;记录模块,用于记录所述标识信息与所述路径信息的对应关系。

可选地,所述的装置,还包括:接收模块,用于接收携带标识信息的资源获取请求;第三检测模块,用于检测与所述标识信息对应的资源是否在所述设备内存中;处理模块,用于在所述资源在所述设备内存中时,直接从所述设备内存中获取所述资源;所述处理模块,还用于在所述资源不在所述设备内存中时,根据所述对应关系获取与所述标识信息对应的路径信息,进而根据所述路径信息获取所述资源。

为达上述目的,本发明第三方面实施例提出了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行如下操作:将目标资源加载到设备内存,其中,所述目标资源被系统强引用;若检测到所述目标资源满足预设的解除条件,则解除所述系统对所述目标资源的强引用;当检测到所述设备内存满足预设的回收条件时,对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

本发明实施例的电子设备,通过将被系统强引用的目标资源加载到设备内存,并在检测到目标资源满足预设的解除条件时解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,提高加载效率,且提高系统运行速度,提高用户体验。

为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种内存空间回收方法,所述方法包括:将目标资源加载到设备内存,其中,所述目标资源被系统强引用;若检测到所述目标资源满足预设的解除条件,则解除所述系统对所述目标资源的强引用;当检测到所述设备内存满足预设的回收条件时,对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种内存空间回收方法,所述方法包括:将目标资源加载到设备内存,其中,所述目标资源被系统强引用;若检测到所述目标资源满足预设的解除条件,则解除所述系统对所述目标资源的强引用;当检测到所述设备内存满足预设的回收条件时,对所述设备内存中没有被所述系统强引用的资源占用的内存空间进行回收。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例提供的一种内存空间回收方法的流程示意图;

图2为本发明实施例提供的另一种内存空间回收方法的流程示意图;

图3为本发明实施例提供的又一种内存空间回收方法的流程示意图;

图4为本发明实施例提供的一种内存空间回收装置的结构示意图;

图5为本发明实施例提供的另一种内存空间回收装置的结构示意图;

图6为本发明实施例提供的又一种内存空间回收装置的结构示意图;

图7为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的内存空间回收方法、装置和电子设备。

通常,终端设备内存有限,随着用户使用终端设备的时间增长,安装的软件越来越多,并且大多软件占用内存比较大,导致终端设备内存不足。

为了避免内存不足,导致系统运行速度慢等问题,本发明提出一种内存空间回收方法,该方法可以使系统一直处于内存充裕状态。由此,系统运行速度快,提高用户体验。具体如下:

图1为本发明实施例提供的一种内存空间回收方法的流程示意图。

如图1所示,该内存空间回收方法包括以下步骤:

步骤110,将目标资源加载到设备内存,其中,目标资源被系统强引用。

步骤120,若检测到目标资源满足预设的解除条件,则解除系统对目标资源的强引用。

具体地,在进行浏览网页、观看视频和编辑图片等操作时,都需要预先将网页内容、视频和图片等资源作为目标资源加载到设备内存中,才进行后续操作。

其中,将目标资源加载到设备内存的方式有很多种,可以根据实际应用选择。举例说明如下:

第一种示例,将网页中的图片资源加载到设备内存中和将网页中的视频资源加载到设备内存中。

第二种示例,将应用程序中的多媒体资源加载到设备内存中。

需要说明的是,本实施例中的目标资源被系统强引用。

可以理解的是,被系统强引用的资源占用的内存空间不能够被回收。为了将目标资源占用的内存空间进行回收,可以预先设置解除条件,在检测目标资源满足预设的解除条件时,解除系统对目标资源的强引用。

具体地,可以通过系统执行相关指令(比如解除指令、转换指令和回调指令)、或者是通过系统调用相关函数(比如不可见函数)等方式对目标资源进行处理以解除系统对目标资源的强引用。

其中,通过系统执行相关指令对目标资源进行处理。举例说明如下:

第一种示例,检测到系统对目标资源执行强引用解除指令。

第二种示例,检测到系统对目标资源执行弱引用或者软引用转换指令。

第三种示例,监测到系统对目标资源所在的网页执行不可见的回调指令。

第四种示例,监测到系统对目标资源本身执行不可见的回调指令。

其中,通过系统调用相关函数对目标资源进行处理。举例说明如下:

第一种示例,监测到用户对目标资源所在的网页调用不可见函数。

第二种示例,监测到用户对目标资源本身调用不可见函数。

进一步地,可以通过上述示例中的任一方式获知目标资源满足预设的解除条件,解除系统对目标资源的强引用。

可以理解的是,解除系统对目标资源的强引用可以是解除系统对目标资源的引用、或者是将系统对目标资源的强引用转换为弱引用或者软引用。

步骤130,当检测到设备内存满足预设的回收条件时,对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

可以理解的是,设备内存中没有被系统强引用的资源,可以是被系统弱引用的资源、或者是被系统软引用的资源、还是设备内存中没有被系统引用的资源等占用的内存空间都是可以被回收的。

具体地,预先设置回收条件,在检测到设备内存满足预设的回收条件时,将上述资源占用的空间进行回收。

其中,检测到设备内存满足预设的回收条件的方式有很多种,可以根据实际应用需要进行选择设置。举例说明如下:

第一种示例,检测到设备内存中空闲的内存空间小于预设阈值。

第二种示例,检测到设备内存中空闲的内存空间小于待加载的资源所需的内存空间。

进一步地,可以通过上述示例中的任一方式获知设备内存满足预设的回收条件,对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

其中,对设备内存中没有被系统强引用的资源占用的内存空间进行回收的方式有很多种,举例说明如下:

第一种示例,根据预设的回收指标对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

第二种示例,根据待加载的资源所需的内存空间对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

综上所述,本发明实施例的内存空间回收方法,通过将被系统强引用的目标资源加载到设备内存,并在检测到目标资源满足预设的解除条件时解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,提高加载效率,且提高系统运行速度,提高用户体验。

为了清楚说明上一实施例,本实施例以目标资源为图片资源,在终端设备上打开一系列网页的场景下,如何对图片资源占用的内存空间进行回收。具体如下:

图2为本发明实施例提供的另一种内存空间回收方法的流程示意图。

如图2所示,该内存空间回收方法包括以下步骤:

步骤210,将网页中的图片资源加载到设备内存中,其中,图片资源被系统强引用。

步骤220,监测到系统对图片资源所在的网页执行不可见的回调指令。

具体地,在终端设备上打开一系列网页,比如依次打开A-B-C-D-E-F六个网页,需要加载大量图片资源到设备内存中,导致内存不足。需要对图片资源占用的内存空间进行回收。

可以理解的是,图片资源被系统强引用,占用的内存空间不能够被回收。

为了将图片资源占用的内存空间进行回收,通过监测到系统对图片资源所在的网页执行不可见的回调指令,比如打开B网页时,系统对图片资源所在的网页A执行不可见的回调指令(比如onWindowVisibilityChanged回调指令)。

作为一种实现形式,还可以通过系统对图片资源本身执行不可见的回调指令(比如onVisibilityChanged回调指令),比如在浏览B网页时,下拉的过程中,图片资源X本身执行不可见的回调指令。

作为另一种实现形式,还可以通过系统对目标资源所在的网页/目标资源本身调用不可见函数。

步骤230,检测预设时间内是否接收到对图片资源的获取请求。

步骤240,若检测获知预设时间内没有接收到对图片资源的获取请求,则解除系统对图片资源的引用。

进一步地,检测预设时间(比如5秒内)没有接收到对图片资源的获取请求。

以上述例子为例,可以理解的是在预设时间有没有接收到对网页A中的图片资源的获取请求。如果没有,表示没有再返回网页A,可以解除系统对网页A中的目标资源的引用。

可以理解的是,在预设时间接收到对网页A中的图片资源的获取请求,表示用户重新返回A页面,这时不可以解除系统对网页A中的图片资源的引用,以避免系统对网页A中的图片资源占用的内存空间进行回收,用户需要重新下载网页A中的图片资源,效率低以及体验感不好。

由此,避免了用户暂时离开也需要重新加载的情况,能够保证用户在一定时间内再次返回之前页面的浏览体验。

步骤250,检测到设备内存中空闲的内存空间小于预设阈值,根据预设的回收指标对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

具体地,为了保证系统运行速度,可以设置阈值比如百分之十,当内存空间小于百分之十时,根据预设的回收指标对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

其中,预设的回收指标可以根据实际应用需要选择设置,比如将所有的设备内存中没有被系统强引用的资源占用的内存空间进行回收、或者是将设备内存中没有被系统强引用的资源占用的内存空间的百分之六十进行回收等等。

可以理解的是,上述回收的过程中,可以不仅仅是解除被系统强引用的图片资源,还可以是本身就是弱引用、软引用、或者是没有被引用的资源等。只要不是被系统强引用的资源都可以回收其占用的内存空间。

综上所述,本发明实施例的内存空间回收方法,通过将被系统强引用的图片资源加载到设备内存,监测到系统对图片资源所在的网页执行不可见的回调指令,再检测预设时间内是否接收到对图片资源的获取请求,在检测获知预设时间内没有接收到对图片资源的获取请求时解除系统对目标资源的引用,最后检测到设备内存中空闲的内存空间小于预设阈值,根据预设的回收指标对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,能够保证用户在一定时间内再次返回之前页面的浏览体验,且系统运行速度快,提高用户体验。

图3为本发明实施例提供的又一种内存空间回收方法的流程示意图。

如图3所示,该内存空间回收方法包括以下步骤:

步骤310,将应用程序中的多媒体资源加载到设备内存中,其中,多媒体资源被系统强引用。

步骤320,检测到系统对多媒体资源执行弱引用或者软引用转换指令,将系统对多媒体资源的强引用转换为弱引用或者软引用。

具体地,终端设备安装的应用程序,比如微信聊天应用程序,在观看好友发送的视频、图片等多媒体资源时,需要将多媒体资源加载到设备内存中。

可以理解的是,多媒体资源被系统强引用,占用的内存空间不能够被回收。

为了将多媒体资源占用的内存空间进行回收,系统对多媒体资源执行弱引用或者软引用转换指令,将系统对多媒体资源的强引用转换为弱引用或者软引用。其中,弱引用或者软引用的多媒体资源占用的内存空间够被回收。

作为一种实现形式,还可以通过系统直接对多媒体资源执行强引用解除指令,解除系统对多媒体资源的引用。

步骤330,检测到设备内存中空闲的内存空间小于待加载的多媒体资源所需的内存空间,根据待加载的多媒体资源所需的内存空间对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

具体地,在需要将多媒体资源加载到设备内存中,发现设备内存中空闲的内存空间小于待加载的多媒体资源需要的内存空间,可以获取待加载的多媒体资源需要的内存空间的大小对设备内存中没有被系统强引用的资源占用的内存空间进行回收。比如,待加载的多媒体资源需要的内存空间为1M,将没有被系统强引用的资源占用的内存空间进行回收1M。

可以理解的是,上述回收的过程中,可以不仅仅是解除被系统强引用的多媒体资源,还可以是资源本身就是被系统弱引用、软引用、或者资源本身是没有被引用等。只要不是被系统强引用的资源都可以回收其占用的内存空间。

步骤340,获取从回收的内存空间中所删除资源的标识信息与路径信息。

步骤350,记录标识信息与路径信息的对应关系。

具体地,内存空间中的资源可能部分回收或者全部回收,可以通过获取回收的内存空间中所删除资源的标识信息与路径信息,并记录标识信息与路径信息的对应关系,以便用户重新返回之前页面或者再次观看视频时等情况下能够节省加载时间,提升用户体验。

其中,资源的标识信息可以是通过对资源进行解析,获取资源的名称、创建时间等作为资源的标识信息,还可以是根据资源的名称、大小通过预设算法(比如MD5算法)得到资源的标识信息。只要能够标识资源即可,可以根据实际应用需要进行选择。

可以理解的是,各个资源存储在内存空间中都有其对应的路径信息,并记录标识信息与路径信息的对应关系。由此,通过标识信息能够查询到对应的路径信息。

步骤360,接收携带标识信息的资源获取请求。

步骤370,检测与标识信息对应的资源是否在设备内存中。

步骤380,如果资源在设备内存中,则直接从设备内存中获取资源。

步骤390,如果资源不在设备内存中,则根据对应关系获取与标识信息对应的路径信息,进而根据路径信息获取资源。

具体地,在接收到携带标识信息的资源获取请求时,首先根据标识信息检测对应的资源是否在设备内存中,如果存在可以直接从设备内存中获取资源。由此,不需要重新加载就可以获取资源,提高系统运行速度,提升用户体验。

具体地,根据标识信息检测对应的资源不在设备内存中,需要根据标识信息查询预先记录的标识信息与路径信息的对应关系,获取标识信息对应的路径信息,进而根据路径信息获取资源。

综上所述,本发明实施例的内存空间回收方法,通过获取从回收的内存空间中所删除资源的标识信息与路径信息,并记录标识信息与路径信息的对应关系,在接收携带标识信息的资源获取请求时,检测与标识信息对应的资源是否在设备内存中时从资源在设备内存中直接从设备内存中获取资源、或者是在资源不在设备内存中时根据对应关系获取与标识信息对应的路径信息,进而根据路径信息获取资源。由此,能够在资源在设备内存中时,直接获取资源,节省加载时间,资源不在设备内存中时,能够根据路径信息快速获取资源,进一步提高系统运行速度,提高重新加载效率,提高用户体验。

为了实现上述实施例,本发明还提出一种内存空间回收装置。

图4为本发明实施例提供的一种内存空间回收装置的结构示意图。

如图4所示,该内存空间回收装置包括:加载模块41、第一检测模块42、解除模块43和回收模块44。

其中,加载模块41用于将目标资源加载到设备内存,其中,目标资源被系统强引用。

第一检测模块42用于检测目标资源是否满足预设的解除条件。

解除模块43用于在检测到目标资源满足预设的解除条件时,解除系统对目标资源的强引用。

回收模块44用于当检测到设备内存满足预设的回收条件时,对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

其中,在本发明实施例的一种可能的实现方式中,加载模块41用于将网页中的图片资源加载到设备内存中和将网页中的视频资源加载到设备内存中。

其中,在本发明实施例的一种可能的实现方式中,加载模块41用于将应用程序中的多媒体资源加载到设备内存中。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体用于检测到系统对所述目标资源执行强引用解除指令。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体用于检测到系统对目标资源执行弱引用或者软引用转换指令。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体用于监测到系统对目标资源所在的网页执行不可见的回调指令。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体用于监测到系统对目标资源本身执行不可见的回调指令。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体用于监测到用户对目标资源所在的网页调用不可见函数。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体用于监测到用户对目标资源本身调用不可见函数。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体还用于解除系统对目标资源的引用。

其中,在本发明实施例的一种可能的实现方式中,解除模块43具体还用于将系统对目标资源的强引用转换为弱引用或者软引用。

其中,在本发明实施例的一种可能的实现方式中,回收模块44具体用于检测到设备内存中空闲的内存空间小于预设阈值。

其中,在本发明实施例的一种可能的实现方式中,回收模块44具体用于检测到设备内存中空闲的内存空间小于待加载的资源所需的内存空间。

可以理解的是,设备内存中没有被系统强引用的资源,包括:设备内存中被系统弱引用或软引用的资源;和/或,设备内存中没有被系统引用的资源。

其中,在本发明实施例的一种可能的实现方式中,回收模块44具体还用于根据预设的回收指标对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

其中,在本发明实施例的一种可能的实现方式中,回收模块44具体还用于根据待加载的资源所需的内存空间对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

需要说明的是,前述对内存空间回收方法实施例的解释说明也适用于本实施例的内存空间回收装置,此处不再赘述。

综上所述,本发明实施例的内存空间回收装置,通过将被系统强引用的目标资源加载到设备内存,并在检测到目标资源满足预设的解除条件时解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,提高重新加载效率,且系统运行速度快,提高用户体验。

为了清楚说明上一实施例,本实施例提供了另一种内存空间回收装置。

图5为本实施例提供的另一种内存空间回收装置的结构示意图。

如图5所示,在图4的基础上,该装置还包括:第二检测模块45。

其中,第二检测模块45用于在第一检测模块42检测到目标资源满足预设的解除条件之后,检测预设时间内是否接收到对目标资源的获取请求。

解除模块43还用于在检测获知预设时间内没有接收到对目标资源的获取请求时,解除系统对目标资源的强引用。

需要说明的是,前述对内存空间回收方法实施例的解释说明也适用于本实施例的内存空间回收装置,此处不再赘述。

综上所述,本发明实施例的内存空间回收装置,通过将被系统强引用的目标资源加载到设备内存,检测到目标资源满足预设的解除条件之后,检测预设时间内是否接收到对目标资源的获取请求,并在检测获知预设时间内没有接收到对目标资源的获取请求时,解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,能够保证用户在一定时间内再次返回之前页面的浏览体验,且系统运行速度快,提高用户体验。

为了清楚说明上一实施例,本实施例提供了又一种内存空间回收装置。

图6为本实施例提供的又一种内存空间回收装置的结构示意图。

如图6所示,在图4的基础上,该装置还包括:获取模块46、记录模块47、接收模块48、第三检测模块49、处理模块410。

其中,获取模块46用于获取从回收的内存空间中所删除资源的标识信息与路径信息。

记录模块47用于记录标识信息与路径信息的对应关系。

接收模块48用于接收携带标识信息的资源获取请求。

第三检测模块49用于检测与标识信息对应的资源是否在设备内存中。

处理模块410用于在资源在设备内存中时,直接从设备内存中获取资源。

处理模块410还用于在资源不在所述设备内存中时,根据对应关系获取与标识信息对应的路径信息,进而根据路径信息获取资源。

需要说明的是,前述对内存空间回收方法实施例的解释说明也适用于本实施例的内存空间回收装置,此处不再赘述。

综上所述,本发明实施例的内存空间回收装置,通过获取从回收的内存空间中所删除资源的标识信息与路径信息,并记录标识信息与路径信息的对应关系,在接收携带标识信息的资源获取请求时,检测与标识信息对应的资源是否在设备内存中时从资源在设备内存中直接从设备内存中获取资源、或者是在资源不在设备内存中时根据对应关系获取与标识信息对应的路径信息,进而根据路径信息获取资源。由此,能够在资源在设备内存中时,直接获取资源,节省加载时间,资源不在设备内存中时,能够根据路径信息快速获取资源,进一步提高系统运行速度,提高重新加载效率,提高用户体验。

为了实现上述实施例,本发明还提出一种电子设备。

图7为本申请实施例提供的一种电子设备的结构示意图。

如图7所示,该电子设备包括:壳体71、处理器72、存储器73、电路板74和电源电路75,其中,电路板74安置在壳体围成的空间内部,处理器72和存储器73设置在电路板74上;电源电路75,用于为上述电子设备的各个电路或器件供电;存储器73用于存储可执行程序代码;处理器72通过读取存储器73中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行如下操作:

将目标资源加载到设备内存,其中,目标资源被系统强引用;若检测到目标资源满足预设的解除条件,则解除系统对目标资源的强引用;当检测到设备内存满足预设的回收条件时,对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

需要说明的是,前述对内存空间回收方法实施例的解释说明也适用于本实施例的电子设备,此处不再赘述。

本发明实施例的电子设备,通过将被系统强引用的目标资源加载到设备内存,并在检测到目标资源满足预设的解除条件时解除系统对目标资源的强引用,以及在检测到设备内存满足预设的回收条件时对设备内存中没有被系统强引用的资源占用的内存空间进行回收。由此,能够使系统一直处于内存充裕状态,提高加载效率,且提高系统运行速度,提高用户体验。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器端的处理器被执行时,使得服务器端能够执行一种内存空间回收方法,所述方法包括:

将目标资源加载到设备内存,其中,目标资源被系统强引用;若检测到目标资源满足预设的解除条件,则解除系统对目标资源的强引用;当检测到设备内存满足预设的回收条件时,对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行一种内存空间回收方法,所述方法包括:

将目标资源加载到设备内存,其中,目标资源被系统强引用;若检测到目标资源满足预设的解除条件,则解除系统对目标资源的强引用;当检测到设备内存满足预设的回收条件时,对设备内存中没有被系统强引用的资源占用的内存空间进行回收。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1