一种处理和恢复页面的方法、设备及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种处理和恢复页面的方法、设备及存储介质。
背景技术
目前,当用户在显示页面中打开一个新页面时,通常会采用重新创建一个视图对象的页面处理方式来显示新页面。然而,上述采用重新创建一个视图对象的页面处理方式存在如下明显的缺陷:
首先,视图对象在创建和使用过程中,需要占用大量的系统内存,导致应用(APP)整体内存使用量大幅升高。尤其是加载一些图片数量较多或是内嵌视频的网页时,很容易在页面展示时就会出现内存警告。当用户大量新开H5页面时,内存使用量过大的缺点将会变得更加突出;
其次,当用户退出H5页面时,视图对象使用完毕,但是系统存在对视图对象回收不及时的问题,容易引起内存泄露问题,甚至可能会造成整个应用发生内存溢出(OOM,out ofmemory)问题,从而迫使系统对应用进行强制回收,导致整个应用闪退,严重影响用户的使用体验。
发明内容
本公开能够实现对未展示在最上层的下层页面的及时回收,使得应用整体内存使用量得到有效降低。
根据本公开的第一方面,提供一种处理页面的方法,该方法包括:接收在显示页面中打开新页面的第一指令;在视图堆栈中生成与所述新页面对应的新视图对象;确定所述视图堆栈中的待删除视图对象;以及,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
根据本公开的一个实施方式,其中,确定所述视图堆栈中的待删除视图对象包括:检测所述视图堆栈中的视图对象的总数量是否超过第一阈值;如果所述视图堆栈中的视图对象的总数量超过所述第一阈值,则将所述视图对象中时间上最早的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,确定所述视图堆栈中的待删除视图对象包括:检测所述视图堆栈中的视图对象的总大小是否超过第二阈值;如果所述视图堆栈中的视图对象的总大小超过所述第二阈值,则将所述视图对象中所述新视图对象之外最大的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,确定所述视图堆栈中的待删除视图对象包括:确定当前网速以及所述视图堆栈中的每个视图对象的大小;根据所述当前网速以及所述视图堆栈中的每个视图对象的大小,将能够在特定时间内完成加载的视图对象作为待删除视图对象。
根据本公开的一个实施方式,进一步包括:确定所述视图堆栈中的可释放视图对象;其中,所述待删除视图对象属于所述可释放视图对象。
根据本公开的一个实施方式,其中,确定所述视图堆栈中的待删除视图对象包括:检测所述视图堆栈中的可释放视图对象的总数量是否超过第三阈值;如果所述视图堆栈中的可释放视图对象的总数量超过所述第三阈值,则将所述视图对象中时间上最早的可释放视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,确定所述视图堆栈中的待删除视图对象包括:检测所述视图堆栈中的可释放视图对象的总大小是否超过第四阈值;如果所述视图堆栈中的可释放视图对象的总大小超过所述第四阈值,则将所述可释放视图对象中最大的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,确定所述视图堆栈中的待删除视图对象包括:确定当前网速以及所述视图堆栈中的每个可释放视图对象的大小;根据所述当前网速以及所述视图堆栈中的每个可释放视图对象的大小,将能够在特定时间内完成加载的可释放视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,回收与所述待删除视图对象相对应的目标页面包括:结束当前针对所述目标页面的加载行为。
根据本公开的一个实施方式,进一步包括:对所述目标页面的页面内容进行拦截,得到拦截的页面内容;将所拦截的页面内容缓存至本地。
根据本公开的一个实施方式,其中,对所述目标页面的页面内容进行拦截包括:拦截所述目标页面中已加载的部分内容。
根据本公开的一个实施方式,其中,对所述目标页面的页面内容进行拦截包括:拦截所述目标页面中已加载但尚未渲染的部分内容。
根据本公开的一个实施方式,进一步包括:对所述目标页面进行截屏处理,得到截屏图片;将所述截屏图片缓存至本地。
根据本公开的一个实施方式,进一步包括:回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面。
根据本公开的一个实施方式,进一步包括:确定所述目标页面中的当前浏览位置;将所述当前浏览位置缓存至本地。
根据本公开的一个实施方式,其中,所述当前浏览位置为相对于整个目标页面的纵坐标初始值的偏移量。
根据本公开的一个实施方式,进一步包括:接收切换到期望页面的第二指令;确定所述期望页面是否是已被回收的目标页面;如果所述期望页面是已被回收的目标页面,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
根据本公开的一个实施方式,其中,切换到期望页面包括下列之一:直接跳转到所述期望页面;以及从期望页面的下级页面回退到所述期望页面。
根据本公开的一个实施方式,进一步包括:通过网络重新开始针对所述期望页面的加载行为。
根据本公开的一个实施方式,进一步包括:从本地提取并加载所缓存的页面内容。
根据本公开的一个实施方式,进一步包括:如果加载所述期望页面成功,则隐藏之前覆盖所述目标页面的截屏图片。
根据本公开的一个实施方式,进一步包括:如果加载所述期望页面失败,则显示加载失败的信息。
根据本公开的一个实施方式,进一步包括:读取已缓存的当前浏览位置;加载所述期望页面并显示当前浏览位置的页面。
根据本公开的一个实施方式,进一步包括:预先加载与所述期望页面相关联的页面。
根据本公开的一个实施方式,其中,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。
根据本公开的第二方面,提供一种恢复页面的方法,包括:接收切换到期望页面的第二指令;确定所述期望页面是否已被回收;如所述期望页面是已被回收,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
根据本公开的一个实施方式,其中,切换到期望页面包括下列之一:直接跳转到所述期望页面;以及从期望页面的下级页面回退到所述期望页面。
根据本公开的一个实施方式,进一步包括:通过网络重新开始针对所述期望页面的加载行为。
根据本公开的一个实施方式,进一步包括:检测本地是否存储有针对已被回收的期望页面的页面内容;如果是,则从本地提取并加载所述页面内容。
根据本公开的一个实施方式,进一步包括:如果加载所述期望页面成功,则检测所述期望页面是否覆盖有图片;如果是,则隐藏所述图片。
根据本公开的一个实施方式,进一步包括:如果加载所述期望页面失败,则显示加载失败的信息。
根据本公开的一个实施方式,进一步包括:读取已缓存的当前浏览位置;加载所述期望页面并显示当前浏览位置的页面。
根据本公开的一个实施方式,进一步包括:预先加载与所述期望页面相关联的页面。
根据本公开的一个实施方式,其中,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。
根据本公开的第三方面,提供一种处理页面的设备,该设备包括:接收装置,用于接收在显示页面中打开新页面的第一指令;生成装置,用于在视图堆栈中生成与所述新页面对应的新视图对象;确定装置,用于确定所述视图堆栈中的待删除视图对象;以及回收装置,用于移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
根据本公开的一个实施方式,其中,所述确定装置包括:检测子装置,用于检测所述视图堆栈中的视图对象的总数量是否超过第一阈值;确定子装置,用于如果所述视图堆栈中的视图对象的总数量超过所述第一阈值,则将所述视图对象中时间上最早的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述确定装置包括:检测子装置,用于检测所述视图堆栈中的视图对象的总大小是否超过第二阈值;确定子装置,用于如果所述视图堆栈中的视图对象的总大小超过所述第二阈值,则将所述视图对象中所述新视图对象之外最大的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述确定装置,还用于根据当前网速以及所述视图堆栈中的每个视图对象的大小,将能够在特定时间内完成加载的视图对象作为待删除视图对象。
根据本公开的一个实施方式,所述确定装置,还用于确定所述视图堆栈中的可释放视图对象;其中,所述待删除视图对象属于所述可释放视图对象。
根据本公开的一个实施方式,其中,所述确定装置包括:检测子装置,用于检测所述视图堆栈中的可释放视图对象的总数量是否超过第三阈值;确定子装置,用于如果所述视图堆栈中的可释放视图对象的总数量超过所述第三阈值,则将所述视图对象中时间上最早的可释放视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述确定装置包括:检测子装置,用于检测所述视图堆栈中的可释放视图对象的总大小是否超过第四阈值;确定子装置,用于如果所述视图堆栈中的可释放视图对象的总大小超过所述第四阈值,则将所述可释放视图对象中最大的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述确定装置,还用于根据当前网速以及所述视图堆栈中的每个可释放视图对象的大小,将能够在特定时间内完成加载的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述回收装置,还用于结束当前针对所述目标页面的加载行为。
根据本公开的一个实施方式,还包括:拦截装置,用于对所述目标页面的页面内容进行拦截,得到拦截的页面内容;缓存装置,用于将所拦截的页面内容缓存至本地。
根据本公开的一个实施方式,其中,所述拦截装置,还用于拦截所述目标页面中已加载的部分内容。
根据本公开的一个实施方式,其中,所述拦截装置,还用于拦截所述目标页面中已加载但尚未渲染的部分内容。
根据本公开的一个实施方式,还包括:截屏处理装置,用于对所述目标页面进行截屏处理,得到截屏图片;缓存装置,用于将所述截屏图片缓存至本地。
根据本公开的一个实施方式,还包括:覆盖装置,用于回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面。
根据本公开的一个实施方式,还包括:所述确定装置,还用于确定所述目标页面中的当前浏览位置;缓存装置,用于将所述当前浏览位置缓存至本地。其中,所述当前浏览位置为相对于整个目标页面的纵坐标初始值的偏移量。
根据本公开的一个实施方式,还包括:所述接收装置,还用于接收切换到期望页面的第二指令;所述确定装置,还用于确定所述期望页面是否是已被回收的目标页面;加载装置,用于如果所述期望页面是已被回收的目标页面,则创建与所述期望页面对应的视图对象,并加载所述期望页面。其中,切换到期望页面包括下列之一:直接跳转到所述期望页面;以及从期望页面的下级页面回退到所述期望页面。
根据本公开的一个实施方式,其中,所述加载装置,还用于通过网络重新开始针对所述期望页面的加载行为。
根据本公开的一个实施方式,其中,所述加载装置,还用于从本地提取并加载所缓存的页面内容。
根据本公开的一个实施方式,还包括:隐藏装置,用于如果加载所述期望页面成功,则隐藏之前覆盖所述目标页面的截屏图片。
根据本公开的一个实施方式,还包括:显示装置,用于如果加载所述期望页面失败,则显示加载失败的信息。
根据本公开的一个实施方式,还包括:读取装置,用于读取已缓存的当前浏览位置;所述加载装置,还用于加载所述期望页面并显示当前浏览位置的页面。
根据本公开的一个实施方式,还包括:预加载装置,用于预先加载与所述期望页面相关联的页面。其中,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。
根据本公开的第四方面,提供一种恢复页面的设备,该设备包括:接收装置,用于接收切换到期望页面的第二指令;确定装置,用于确定所述期望页面是否已被回收;加载装置,用于如所述期望页面是已被回收,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
根据本公开的一个实施方式,其中,切换到期望页面包括下列之一:直接跳转到所述期望页面;以及从期望页面的下级页面回退到所述期望页面。
根据本公开的一个实施方式,其中,所述加载装置,还用于通过网络重新开始针对所述期望页面的加载行为。
根据本公开的一个实施方式,还包括:检测装置,用于检测本地是否存储有针对已被回收的期望页面的页面内容;所述加载装置,还用于如果是,则从本地提取并加载所述页面内容。
根据本公开的一个实施方式,还包括:检测装置,用于如果加载所述期望页面成功,则检测所述期望页面是否覆盖有图片;隐藏装置,用于如果是,则隐藏所述图片。
根据本公开的一个实施方式,还包括:显示装置,用于如果加载所述期望页面失败,则显示加载失败的信息。
根据本公开的一个实施方式,还包括:读取装置,用于读取已缓存的当前浏览位置;所述加载装置,还用于加载所述期望页面并显示当前浏览位置的页面。
根据本公开的一个实施方式,还包括:预加载装置,用于预先加载与所述期望页面相关联的页面。其中,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。
根据本公开的第五方面,提供一种处理页面的设备,包括:一个或者多个处理器;存储器;存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行上述第一方面任意一项所述处理页面的方法。
根据本公开的第六方面,提供一种恢复页面的设备,包括:一个或者多个处理器;存储器;存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行上述第二方面任意一项所述恢复页面的方法。
根据本公开的第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行上述第一方面及其第二方面任意一项所述的方法。
本公开的实施方式能够实现以下技术效果中的至少一种。
通过本公开的教导,能够实现对未展示在最上层的下层页面的及时回收,使得应用整体内存使用量得到有效降低,从而有效降低因内存问题造成的应用奔溃,提高系统整体流畅度,进而提升用户体验。
需要理解的是,本公开的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本公开的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1a示出了本发明实施例处理页面的方法的实现流程示意图;
图1b示出了本发明实施例电子设备显示屏的显示示意图;
图1c示出了本发明实施例视图堆栈的组成结构示意图;
图1d示出了本发明实施例视图堆栈的组成结构示意图;
图2示出了本发明实施例处理页面的方法的实现流程示意图;
图3a示出了本发明实施例处理页面的方法的实现流程示意图;
图3b示出了本发明实施例电子设备显示屏的显示示意图;
图3c示出了本发明实施例电子设备显示屏的显示示意图;
图4示出了本发明实施例处理页面的方法的实现流程示意图;
图5a示出了本发明实施例处理页面的方法的实现流程示意图;
图5b示出了本发明实施例电子设备显示屏的显示示意图;
图5c示出了本发明实施例电子设备显示屏的显示示意图;
图6示出了本发明实施例恢复页面的方法的实现流程示意图;
图7示出了本发明实施例处理页面的设备的组成结构示意图;
图8示出了本发明实施例恢复页面的设备的组成结构示意图;
图9示出了根据本发明实施方式的处理页面或恢复页面的设备的示意图;
图10示出了根据本发明实施方式的处理页面或恢复页面的计算机可读存储介质的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
下面结合附图对本发明的具体实施方式进行详细描述。
图1a示出了本发明实施例处理页面的方法的实现流程示意图。
如图1所示,本发明实施例提供一种处理页面的方法,该方法包括如下操作:操作101,接收在显示页面中打开新页面的第一指令;操作104,在视图堆栈中生成与所述新页面对应的新视图对象;操作107,确定所述视图堆栈中的待删除视图对象;操作110,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
在操作101,所述显示页面用于指代显示在一电子设备的显示屏最上层的页面,也就是用户当前正在浏览的页面。其中,所述显示页面中通常包括有一个或多个打开新页面的超链接。
图1b示出了本发明实施例电子设备显示屏的显示示意图。
在一示例中,如图1b所示,在一电子设备的显示屏上显示有显示页面“LV女包专场”,且该显示页面“LV女包专场”中包括有“商品1”、“商品2”、“商品3”及其“商品4”的超链接。这里需要说明的是,该显示页面“LV女包专场”可以如图1b所示仅占用显示屏的部分显示区域;该显示页面“LV女包专场”也可以占满整个显示屏,此时,该显示页面的边框与所述显示屏的边框重叠。
这里,所述电子设备可以为个人计算机(PC,Personal Computer)这种固定的电子设备,还可以为如个人数字助理(PAD)、平板电脑、手提电脑这种便携式的电子设备,当然还可以为如智能手机这种智能移动终端。
所述第一指令可以为用户在显示页面中通过触发超链接打开新页面的输入操作指令。所述第一输入操作指令根据电子设备的类型而有所不同。例如,当电子设备为普通的个人计算机,且输入设备为鼠标或键盘时,所述第一输入操作指令可以是用户通过鼠标或键盘中的部分按键实现在显示屏上的点击操作指令;当电子设备的显示屏为触控式显示屏(例如采用触控式显示屏的智能手机、平板电脑、桌面式电脑)时,所述第一输入操作指令可以为操作体的触控操作指令,其中操作体可以包括手指、触控笔等。需要说明的是,本领域的技术人员可以自行定义第一输入操作指令的具体操作方式。在一示例中,如图1b所示,所述第一输入操作指令可以包括用户通过鼠标或键盘按键点击显示页面“LV女包专场”中的超链接“商品1”的操作指令。在又一示例中,如图1b所示,所述第一输入操作指令也可以是这样的:用户通过手指触摸显示页面“LV女包专场”中的超链接“商品3”的操作指令。
在具体实现的过程中,可以并不局限于本发明实施例提供的方式,本领域的技术人员还可以通过各种现有技术来实现所述第一指令,因此不再赘述。从以上描述可以看出,电子设备除了显示屏之外,还具有输入设备,其中当电子设备采用触控式显示屏(触控屏)时,电子设备的输入设备和显示屏合二为一。
在操作104,在打开一个新页面时,即首先需要在视图堆栈中生成一个唯一用于加载新页面的新视图对象,即视图对象与页面一一对应。需要补充说明的是,所述视图堆栈中存放有用以加载页面的视图对象。其中,所述视图对象为包含了视图对象(UIWebView)的视图控件(UIViewController)。
在操作107,确定所述视图堆栈中的待删除视图对象时,通常需要先检测所述视图堆栈中存放的视图对象是否满足预设条件,只有满足预设条件的视图对象才会被确定为待删除视图对象。
根据本发明一实施方式,操作107至少可以包括如下几种方式:
根据本发明的一个实施方式,检测所述视图堆栈中的视图对象的总数量是否超过第一阈值;如果所述视图堆栈中的视图对象的总数量超过所述第一阈值,则将所述视图对象中时间上最早的视图对象作为待删除视图对象。
这里,在检测有所述视图堆栈中的视图对象的总数量超过所述第一阈值时,可以将所述视图对象中时间上最早的一个或多个视图对象作为待删除视图对象。
图1c示出了本发明实施例视图堆栈的组成结构示意图。
在一示例中,如图1c所示,所述视图堆栈中包括有总数量为7的视图对象A、B、C、D、E、F、G;当预设有所述第一阈值为4,则很显然所述视图堆栈中的视图对象的总数量超出第一阈值,此时可以将所述视图对象中时间上最早的视图对象A、B、C一并作为待删除视图对象。
根据本发明的另一个实施方式,检测所述视图堆栈中的视图对象的总大小是否超过第二阈值;如果所述视图堆栈中的视图对象的总大小超过所述第二阈值,则将所述视图对象中所述新视图对象之外最大的视图对象作为待删除视图对象。
这里,在检测有所述视图堆栈中的视图对象的总大小超过所述第二阈值时,可以将所述视图对象中所述新视图对象之外一个或多个最大的视图对象作为待删除视图对象。
图1d示出了本发明实施例视图堆栈的组成结构示意图。
在一示例中,如图1d所示,所述视图堆栈中包括有视图对象A、B、C、D、E、F;则由图1d可知,所述视图对象A、B、C、D、E、F的总大小显然超过所述第二阈值,此时可以将所述视图对象中所述新视图对象之外最大的视图对象B、E作为待删除视图对象,直到剩余的视图对象的总大小不大于该第二阈值为止。
根据本发明的又一个实施方式,确定当前网速以及所述视图堆栈中的每个视图对象的大小;根据所述当前网速以及所述视图堆栈中的每个视图对象的大小,将能够在特定时间内完成加载的视图对象作为待删除视图对象。这样,在操作107中,当删除的视图对象被加载时,可以使得加载操作在特定的时间内完成,减少用户的等待时间,甚至使用户感受不到页面的加载,从而提升用户体验。关于视图的加载将在后文中进行详细描述。
在操作110,在确定待删除视图对象之后,通过移除所述待删除视图对象的方式回收了与所述待删除视图对象相对应的目标页面,使得视图堆栈中原先存放目标页面所对应的视图对象(即所确定的待删除视图对象)的内存得以释放。其中,所回收的与所述待删除视图对象相对应的目标页面隶属于未展示在最上层的下层页面。
根据本发明一实施方式,操作110中,所述回收与所述待删除视图对象相对应的目标页面包括:结束当前针对所述目标页面的加载行为。
具体地,在确定待删除视图对象之后,首先调用视图对象(UIWebView)的stopLoading方法确保结束所述目标页面的加载行为,即停止加载网页;然后关闭相应的JSBridge调用与释放JSBridge对象;最后把视图对象从其视图堆栈中移除,并且释放视图对象。这样,本发明实施例通过移除所述待删除视图对象的方式回收了与所述待删除视图对象相对应的目标页面,使得视图堆栈中原先存放目标页面所对应的视图对象(即所确定的待删除视图对象)的内存得以释放。
根据本发明又一实施方式,操作110在结束当前针对所述目标页面的加载行为时,所述方法进一步还可以包括:对所述目标页面的页面内容进行拦截,得到拦截的页面内容;将所拦截的页面内容缓存至本地。
这里,由于对于一个页面的页面内容而言,其在显示屏上的渲染与加载存在一定的时延,即加载完成的页面内容会略微滞后实现在显示屏上的渲染,因此,本发明实施例所述电子设备对所述目标页面的页面内容进行拦截可以包括拦截所述目标页面中已加载的部分内容;还可以包括拦截所述目标页面中已加载但尚未渲染的部分内容。
本发明实施例通过将所拦截的页面内容缓存至本地,使得在后续执行对已回收的所述目标页面的恢复时,可以直接从本地缓存中读取所拦截的页面内容。如此,不仅能加快页面整体加载速度,还能有效降低网络请求所消耗的流量和在一定程度上避免了由于网络问题所造成的页面加载失败等问题。
图2示出了本发明实施例处理页面的方法的实现流程示意图。
如图2所示,本发明实施例提供一种处理页面的方法,该方法包括如下操作:操作201,接收在显示页面中打开新页面的第一指令;操作204,在视图堆栈中生成与所述新页面对应的新视图对象;操作205,确定所述视图堆栈中的可释放视图对象;操作207,确定所述视图对象中的待删除视图对象,所述待删除视图对象属于所述可释放视图对象;操作210,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
需要说明的是,本发明实施例操作201、204、210的具体实现过程与上述实施例操作101、104、110的具体实现过程相类似,这里不再重复赘述。
在操作205,所述可释放视图对象所对应的页面包括排除多层级的页面和主动禁止回收的页面。相应的,确定所述视图堆栈中的可释放视图对象包括:排除所述视图堆栈中的与所述多层级的页面和主动禁止回收的页面相对应的视图对象。
举例来说,如果一个视图对象(UIWebView)所对应页面以当前页面刷新的方式加载过一个H5页面,则可以确定所述视图对象所对应页面为一个多层级的页面。由于所述多层级的页面若被回收,则不能够再次自动恢复到之前的多层级的页面状态,因此,本发明实施例将所述多层级的页面排除在所述可被回收的页面之外。在具体应用中,可以通过UIWebView中的canGoBack方法来判断一个网络视图页面是否为多层级的页面。
再如,一些视图对象(UIWebView)所对应页面也许有一些特殊的用途,例如保存了用户当前的一些浏览行为、数据、倒计时等,则此时并不希望该页面被主动回收,所以,在对应用中页面相关参数进行设置时,额外扩展了一个可以主动禁止回收页面的功能。具体地,本发明实施例可以通过JSBridge对该页面进行设置,只要主动将该页面标记为不可回收或禁止回收,则后续对该页面不会进行主动的回收,从而将所述主动禁止回收的页面排除在所述可被回收的页面之外。
上述操作205的有益效果在于,可以事先确定可释放与不可释放的视图以及视图对象,从而避免由于错误地删除某些视图或视图对象而导致视图浏览出现问题。
本发明实施例操作207至少可以包括如下几种方式:
根据本发明的一个实施方式,检测所述视图堆栈中的可释放视图对象的总数量是否超过第三阈值;如果所述视图堆栈中的可释放视图对象的总数量超过所述第三阈值,则将所述视图对象中时间上最早的可释放视图对象作为待删除视图对象。
根据本发明的另一个实施方式,检测所述视图堆栈中的可释放视图对象的总大小是否超过第四阈值;如果所述视图堆栈中的可释放视图对象的总大小超过所述第四阈值,则将所述可释放视图对象中最大的视图对象作为待删除视图对象。
根据本发明的又一个实施方式,确定当前网速以及所述视图堆栈中的每个可释放视图对象的大小;根据所述当前网速以及所述视图堆栈中的每个可释放视图对象的大小,将能够在特定时间内完成加载的可释放视图对象作为待删除视图对象。
如此,能够实现对未展示在最上层的下层页面的及时回收,使得应用整体内存使用量得到有效降低,从而有效降低因内存问题造成的应用奔溃,提高系统整体流畅度,进而提升用户体验。
图3a示出了本发明实施例处理页面的方法的实现流程示意图。
如图3a所示,本发明实施例提供一种处理页面的方法,该方法包括如下操作:操作301,接收在显示页面中打开新页面的第一指令;操作304,在视图堆栈中生成与所述新页面对应的新视图对象;操作307,确定所述视图堆栈中的待删除视图对象;操作308,对所述目标页面进行截屏处理,得到截屏图片;操作309,将所述截屏图片缓存至本地;操作310,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
需要说明的是,本发明实施例操作301、304、307、310的具体实现过程与上述实施例操作101、104、107、110的具体实现过程相类似,这里不再重复赘述。
这里,在确定所述视图堆栈中待删除视图对象之后,触发对与所述待删除视图对象相对应的目标页面的回收功能时,需要对即将回收的所述目标页面进行截屏处理并保存截屏图片于本地。
在本发明一实施方式中,本发明实施例所述方法进一步还可以包括:操作311,回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面。
这里,由于目标页面被回收之后,其对应的视图对象(即待删除视图对象)被销毁或移除,此时显示屏上对应该目标页面的显示区域为一片黑色。因此,本发明实施例通过回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面,使得用户通过滑动屏幕的方式返回该目标页面的滑动过程中,能够看到一个“假”的目标页面,当后续执行所述目标页面的恢复后,才将该截屏图片隐藏,即该截屏图片才会消失,从而显示出真正的目标页面对应页面内容。
图3b示出了本发明实施例电子设备显示屏的显示示意图。图3c示出了本发明实施例电子设备显示屏的显示示意图。
在本发明实施例一应用示例中,结合图1b及其图3a~3c所示,首先,执行操作301,点击电子设备的显示屏上显示的显示页面“LV女包专场”中的超链接“商品1”,得以触发打开新页面“商品1”,如图1b所示;其次,执行步骤304,在视图堆栈中生成与所述新页面“商品1”对应的新视图对象,并在显示屏上显示该新页面“商品1”,如图3b所示;进一步地,执行操作307~310,回收所述目标页面“LV女包专场”,并将该目标页面“LV女包专场”进行截屏处理;最后,执行步骤311,回收所述目标页面“LV女包专场”之后,在显示屏使用所述截屏图片覆盖所述目标页面“LV女包专场”。这样,当电子设备的显示屏处在如图3b的显示状态下,若用户通过向右滑动屏幕的方式返回该目标页面“LV女包专场”的滑动过程综合功能,能够看到一个“假”的目标页面,如图3c所示。
如此,通过回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面,能够避免因页面的回收过程给用户带来的页面不连续的视觉感知,从而有效提升用户体验。
图4示出了本发明实施例处理页面的方法的实现流程示意图。
如图4所示,本发明实施例提供一种处理页面的方法,该方法包括如下操作:操作401,接收在显示页面中打开新页面的第一指令;操作404,在视图堆栈中生成与所述新页面对应的新视图对象;操作407,确定所述视图堆栈中的待删除视图对象;操作410,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面;操作411,确定所述目标页面中的当前浏览位置;操作412,将所述当前浏览位置缓存至本地。
其中,所述当前浏览位置为相对于整个目标页面的纵坐标(通常用页面坐标Y表示)初始值的偏移量。
需要说明的是,本发明实施例操作401、404、407、410的具体实现过程与上述实施例操作101、104、107、110的具体实现过程相类似,这里不再重复赘述。
如此,本发明实施例通过将所述目标页面中的当前浏览位置缓存至本地,使得在后续执行对已回收的所述目标页面的恢复时,能够自动滑动到该当前浏览位置,从而提升用户体验。
图5a示出了本发明实施例处理页面的方法的实现流程示意图。
如图5a所示,本发明实施例提供一种处理页面的方法该方法包括如下操作:操作501,接收在显示页面中打开新页面的第一指令;操作504,在视图堆栈中生成与所述新页面对应的新视图对象;操作507,确定所述视图堆栈中的待删除视图对象;操作510,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面;操作511,接收切换到期望页面的第二指令;操作512,确定所述期望页面是否是已被回收的目标页面;操作513,如果所述期望页面是已被回收的目标页面,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
需要说明的是,本发明实施例操作501、504、507、510的具体实现过程与上述实施例操作101、104、107、110的具体实现过程相类似,这里不再重复赘述。
其中,所述切换到期望页面可以包括直接跳转到所述期望页面;所述切换到期望页面还可以包括从期望页面的下级页面回退到所述期望页面。这里,接收切换到期望页面的第二指令通常为接收从显示页面切换到期望页面的第二指令。相应地,所述接收切换到期望页面的第二指令可以包括下列之一:接收从显示页面直接跳转到期望页面的第二指令;以及接收从期望页面的下级页面,即显示页面回退到所述期望页面的第二指令。
需要补充说明的是,在本发明实施例中,若操作504执行完毕,且所述新页面成功加载并在显示屏上得以渲染,则该操作511中所述跳转到期望页面所参考的显示页面为已成功加载并得以渲染的新页面;若之前操作504尚且处于执行过程中,或执行完毕,但所述新页面加载失败或加载中止/终止,则该操作511中所述跳转到期望页面所参考的显示页面仍为操作501所述的显示页面。
图5b示出了本发明实施例电子设备显示屏的显示示意图。
在一示例中,如图5b所示,在一电子设备的显示屏上显示有显示页面“LV女包专场”,且该显示页面“LV女包专场”的右下角显式包括有“优品秒杀”的触发区域(即触发按钮)。当电子设备的显示屏为触控式显示屏(例如采用触控式显示屏的智能手机、平板电脑、桌面式电脑)时,用户通过手指的触控操作以使所述电子设备接收从显示页面“LV女包专场”直接跳转到所述期望页面“优品秒杀”的第二指令。在实际应用中,所述“优品秒杀”的触发区域的显示方式除了显式外,还可以为隐式;所述显示位置除了右下角,还可以为所述显示页面的任一位置。
图5c示出了本发明实施例电子设备显示屏的显示示意图。
在又一示例中,如图5c所示,在一电子设备的显示屏上显示有显示页面“LV女包专场”(即所述期望页面“量贩品牌”的下级页面),且该显示页面“LV女包专场”的左下角隐式包括有“回退/切换至上级页面”的触发区域(即触发按钮)。当电子设备为普通的个人计算机,且输入设备为鼠标或键盘时,用户通过鼠标或键盘中的部分按键实现在显示屏上的点击操作,以使所述电子设备接收从期望页面“量贩品牌”的下级页面“LV女包专场”回退到所述期望页面“量贩品牌”的第二指令。在实际应用中,所述“回退/切换至上级页面”的触发区域的显示方式除了隐式外,还可以为显式;所述显示位置除了左下角,还可以为所述显示页面的任一位置。
这里,在完成操作510之后,会对所述目标页面加以标识,如将所述目标页面的属性值设置为“已被回收”,并将所述标识存储至对应内存空间。这样,当通过操作511接收切换到期望页面的第二指令之后,检测内存空间是否存储有针对所述期望页面的且所述期望页面的属性值为“已被回收”的标识信息;若是,则确定所述期望页面是已被回收的目标页面。
在操作512,通过在视图堆栈中重新生成与所述期望页面对应的视图对象的方式来创建与所述期望页面对应的视图对象。
在操作513,所述加载所述期望页面包括如下几种方式:
方式一,通过网络重新开始针对所述期望页面的加载行为。
方式二,从本地提取并加载所缓存的页面内容。这样,通过将所拦截的页面内容缓存至本地,使得在后续执行对已回收的所述目标页面的恢复时,可以直接从本地提取并加载所缓存的页面内容。如此,不仅能加快页面整体加载速度,还能有效降低网络请求所消耗的流量和在一定程度上避免了由于网络问题所造成的页面加载失败等问题。
在本发明一实施方式,若所述操作510执行成功,则隐藏或销毁之前覆盖所述目标页面的截屏图片;反之,若所述操作510执行失败,则显示加载失败的信息。
如此,通过回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面,能够避免因页面的回收过程给用户带来的页面不连续的视觉感知,从而有效提升用户体验。
在本发明一实施方式,在操作510之后,所述方法还可以进一步包括:读取已缓存的当前浏览位置;加载所述期望页面并显示当前浏览位置的页面。
如此,本发明实施例通过将所述目标页面中的当前浏览位置缓存至本地,使得在后续执行对已回收的所述目标页面的恢复时,能够自动滑动到该当前浏览位置,从而提升用户体验。
在本发明一实施方式中,本发明实施例所述方法进一步还可以包括:操作514,预先加载与所述期望页面相关联的页面。
在操作514,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。这里,在应用(APP)启动时进行的全局注册中,若预制有与“使用预恢复机制”的全局参数,则可以在执行步骤511~513的过程中,同步执行检测与所述期望页面相关联的页面是否是已被回收的目标页面的操作行为;进一步地,若检测与所述期望页面相关联的页面是已被回收的目标页面,则预先加载与所述期望页面相关联的页面。
在一示例中,如图5b及图5c所示,由于所述期望页面“优品秒杀”或“量贩品牌”相关联的页面均为“首页”,且在确定所述期望页面“优品秒杀”或“量贩品牌”是否是已被回收的目标页面时,检测有页面“首页”已被回收,则所述电子设备会预先加载页面“首页”。
本发明实施例不再等到接收有关所述与所述期望页面相关联的页面的触发指令的情况下,通过主动检测与所述期望页面相关联的页面是否是已被回收的页面;若是,则提前加载与所述期望页面相关联的页面,使得所述页面提前重新恢复真正的网页内容。如此,当电子设备再从所述期望页面回退至所述与所述期望页面相关联的页面时,用户就不用再去等待恢复的过程,从而能够直接进行页面相关的操作行为,继而提升用户体验。
图6示出了本发明实施例恢复页面的方法的实现流程示意图。
如图6所示,本发明实施例提供一种恢复页面的方法,该方法包括如下操作:操作601,接收切换到期望页面的第二指令;操作602,确定所述期望页面是否已被回收;操作603,如所述期望页面是已被回收,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
在本发明一实施方式中,本发明实施例所述方法进一步还可以包括:操作604,预先加载与所述期望页面相关联的页面。
需要说明的是,本发明实施例操作601、602、603、604的具体实现过程与上述实施例操作511、512、513、514的具体实现过程相类似,这里不再重复赘述。
本发明分别在iPhone7,iPhone6及其iPhone5三种不同型号的电子设备上打开20个视图对象进行实验,得出如下表1所示的实验结果。其中,所述实验结果依次为内存使用量从回收前的70.32MiB降低到回收后的53.8MiB、从回收前的94.00MiB降低到回收后的76.40MiB及其从回收前的58.1MiB降低到回收后的45.56MiB。
表1
由此可见,本发明通过实现对未展示在最上层的下层页面的及时回收,使得应用整体内存使用量得到有效降低,从而有效降低因内存问题造成的应用奔溃,提高系统整体流畅度,进而提升用户体验。
图7示出了本发明实施例处理页面的设备的组成结构示意图。
如图7所示,本发明实施例提供一种处理页面的设备,该设备70包括:接收装置701,用于接收在显示页面中打开新页面的第一指令;生成装置702,用于在视图堆栈中生成与所述新页面对应的新视图对象;确定装置703,用于确定所述视图堆栈中的待删除视图对象;以及回收装置704,用于移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
根据本公开的一个实施方式,如图7所示,其中,所述确定装置703包括:检测子装置7031,用于检测所述视图堆栈中的视图对象的总数量是否超过第一阈值;确定子装置7032,用于如果所述视图堆栈中的视图对象的总数量超过所述第一阈值,则将所述视图对象中时间上最早的视图对象作为待删除视图对象。
根据本公开的一个实施方式,如图7所示,其中,所述确定装置703包括:检测子装置7031,用于检测所述视图堆栈中的视图对象的总大小是否超过第二阈值;确定子装置7032,用于如果所述视图堆栈中的视图对象的总大小超过所述第二阈值,则将所述视图对象中所述新视图对象之外最大的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述确定装置703,还用于根据当前网速以及所述视图堆栈中的每个视图对象的大小,将能够在特定时间内完成加载的视图对象作为待删除视图对象。
根据本公开的一个实施方式,所述确定装置703,还用于确定所述视图堆栈中的可释放视图对象;其中,所述待删除视图对象属于所述可释放视图对象。
根据本公开的一个实施方式,如图7所示,其中,所述确定装置703包括:检测子装置7031,用于检测所述视图堆栈中的可释放视图对象的总数量是否超过第三阈值;确定子装置7032,用于如果所述视图堆栈中的可释放视图对象的总数量超过所述第三阈值,则将所述视图对象中时间上最早的可释放视图对象作为待删除视图对象。
根据本公开的一个实施方式,如图7所示,其中,所述确定装置703包括:检测子装置7031,用于检测所述视图堆栈中的可释放视图对象的总大小是否超过第四阈值;确定子装置7032,用于如果所述视图堆栈中的可释放视图对象的总大小超过所述第四阈值,则将所述可释放视图对象中最大的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述确定装置703,还用于根据当前网速以及所述视图堆栈中的每个可释放视图对象的大小,将能够在特定时间内完成加载的视图对象作为待删除视图对象。
根据本公开的一个实施方式,其中,所述回收装置704,还用于结束当前针对所述目标页面的加载行为。
根据本公开的一个实施方式,如图7所示,还包括:拦截装置705,用于对所述目标页面的页面内容进行拦截,得到拦截的页面内容;缓存装置706,用于将所拦截的页面内容缓存至本地。
根据本公开的一个实施方式,其中,所述拦截装置705,还用于拦截所述目标页面中已加载的部分内容。
根据本公开的一个实施方式,其中,所述拦截装置705,还用于拦截所述目标页面中已加载但尚未渲染的部分内容。
根据本公开的一个实施方式,如图7所示,还包括:截屏处理装置707,用于对所述目标页面进行截屏处理,得到截屏图片;缓存装置706,用于将所述截屏图片缓存至本地。
根据本公开的一个实施方式,如图7所示,还包括:覆盖装置708,用于回收所述目标页面之后,在显示屏使用所述截屏图片覆盖所述目标页面。
根据本公开的一个实施方式,如图7所示,还包括:所述确定装置703,还用于确定所述目标页面中的当前浏览位置;缓存装置706,用于将所述当前浏览位置缓存至本地。其中,所述当前浏览位置为相对于整个目标页面的纵坐标初始值的偏移量。
根据本公开的一个实施方式,如图7所示,还包括:所述接收装置701,还用于接收切换到期望页面的第二指令;所述确定装置703,还用于确定所述期望页面是否是已被回收的目标页面;加载装置709,用于如果所述期望页面是已被回收的目标页面,则创建与所述期望页面对应的视图对象,并加载所述期望页面。其中,切换到期望页面包括下列之一:直接跳转到所述期望页面;以及从期望页面的下级页面回退到所述期望页面。
根据本公开的一个实施方式,其中,所述加载装置709,还用于通过网络重新开始针对所述期望页面的加载行为。
根据本公开的一个实施方式,其中,所述加载装置709,还用于从本地提取并加载所缓存的页面内容。
根据本公开的一个实施方式,如图7所示,还包括:隐藏装置710,用于如果加载所述期望页面成功,则隐藏之前覆盖所述目标页面的截屏图片。
根据本公开的一个实施方式,如图7所示,还包括:显示装置711,用于如果加载所述期望页面失败,则显示加载失败的信息。
根据本公开的一个实施方式,如图7所示,还包括:读取装置712,用于读取已缓存的当前浏览位置;所述加载装置709,还用于加载所述期望页面并显示当前浏览位置的页面。
根据本公开的一个实施方式,如图7所示,还包括:预加载装置713,用于预先加载与所述期望页面相关联的页面。其中,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。
图8示出了本发明实施例恢复页面的设备的组成结构示意图。
如图8所示,本发明实施例提供一种恢复页面的设备,该设备80包括:接收装置801,用于接收切换到期望页面的第二指令;确定装置802,用于确定所述期望页面是否已被回收;加载装置803,用于如所述期望页面是已被回收,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
其中,切换到期望页面包括下列之一:直接跳转到所述期望页面;以及从期望页面的下级页面回退到所述期望页面。
根据本公开的一个实施方式,其中,所述加载装置803,还用于通过网络重新开始针对所述期望页面的加载行为。
根据本公开的一个实施方式,如图8所示,还包括:检测装置804,用于检测本地是否存储有针对已被回收的期望页面的页面内容;所述加载装置803,还用于如果是,则从本地提取并加载所述页面内容。
根据本公开的一个实施方式,如图8所示,还包括:检测装置804,用于如果加载所述期望页面成功,则检测所述期望页面是否覆盖有图片;隐藏装置805,用于如果是,则隐藏所述图片。
根据本公开的一个实施方式,如图8所示,还包括:显示装置806,用于如果加载所述期望页面失败,则显示加载失败的信息。
根据本公开的一个实施方式,如图8所示,还包括:读取装置807,用于读取已缓存的当前浏览位置;所述加载装置803,还用于加载所述期望页面并显示当前浏览位置的页面。
根据本公开的一个实施方式,如图8所示,还包括:预加载装置808,用于预先加载与所述期望页面相关联的页面。其中,与所述期望页面相关联的页面是所述期望页面能够直接回退到的页面。
这里需要指出的是:以上设备实施例中的描述,与上述方法描述是类似的,同方法的有益效果描述,不作赘述。对于本发明设备实施例中未披露的技术细节,请参照本发明方法实施例的描述。
示例性设备
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的处理页面的设备及其恢复页面的设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,本发明的处理页面的设备可以至少包括一个或多个处理器、以及至少一个存储器。其中,所述存储器存储有程序,当所述程序被所述处理器执行时,使得所述处理器执行本说明书中描述各个步骤,例如,所述处理器可以执行如图1中所示的操作101,接收在显示页面中打开新页面的第一指令;操作104,在视图堆栈中生成与所述新页面对应的新视图对象;操作107,确定所述视图堆栈中的待删除视图对象;操作110,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
在又一些可能的实施方式中,本发明的恢复页面的设备可以至少包括一个或多个处理器、以及至少一个存储器。其中,所述存储器存储有程序,当所述程序被所述处理器执行时,使得所述处理器执行本说明书中描述各个步骤,例如,所述处理器可以执行如图6中所示的操作601,接收切换到期望页面的第二指令;操作602,确定所述期望页面是否已被回收;操作603,如果所述期望页面是已被回收,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
图9示出了根据本发明实施方式的处理页面或恢复页面的设备的示意图。
下面参照图9来描述根据本发明的这种实施方式的处理页面或恢复页面的设备。图9显示的设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,设备900以通用计算设备的形式表现,包括但不限于:上述至少一个处理器910、上述至少一个存储器920、连接不同系统组件(包括存储器920和处理器910)的总线960。
总线960包括地址总线,控制总线和数据总线。
存储器920可以包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器920还可以包括一组(至少一个)程序模块924,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
设备900还可以与一个或多个外部设备90(例如键盘、指向设备、蓝牙设备等)通信。这种通信可以通过输入/输出(I/O)接口940进行,并在显示单元930上进行显示。并且,设备900还可以通过网络适配器950与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器950通过总线960与设备900中的其它模块通信。应当明白,尽管图中未示出,但可以结合设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序代码在被处理器执行时,所述程序代码用于使所述处理器执行上面描述的方法的各个步骤,例如,所述处理器可以执行如图1中所示的操作101,接收在显示页面中打开新页面的第一指令;操作104,在视图堆栈中生成与所述新页面对应的新视图对象;操作107,确定所述视图堆栈中的待删除视图对象;操作110,移除所述待删除视图对象,以回收与所述待删除视图对象相对应的目标页面。
在另一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序代码在被处理器执行时,所述程序代码用于使所述处理器执行上面描述的方法的各个步骤,例如,所述处理器可以执行如图6中所示的操作601,接收切换到期望页面的第二指令;操作602,确定所述期望页面是否已被回收;操作603,如果所述期望页面是已被回收,则创建与所述期望页面对应的视图对象,并加载所述期望页面。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图10示出了根据本发明实施方式的处理页面或恢复页面的计算机可读存储介质的示意图。
如图10所示,描述了根据本发明的实施方式的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端或服务器上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在用户计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
应当注意,尽管在上文详细描述中提及了用于软件测试的若干装置及子装置,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。