一种冗余资源处理方法、装置、设备及存储介质与流程

文档序号:19064401发布日期:2019-11-06 02:09阅读:290来源:国知局
一种冗余资源处理方法、装置、设备及存储介质与流程

本申请涉及用户界面开发技术领域,尤其涉及一种冗余资源处理方法、装置、设备及存储介质。



背景技术:

对于用户界面(userinterface,ui)来说,开发人员通常需要利用ui编辑器(例如,fairygui)对ui进行开发。

然而,因ui开发过程中的遗漏或疏忽可能会导致开发得到的ui上存在一些冗余资源,而且这些冗余资源会增加ui的资源量,导致后续打开ui时所需时间以及所需内存的增加。其中,所谓冗余资源是指ui上没有任何实际功能的多余资源,例如,冗余资源可以包括没有实际功能的ui组件以及ui图片等。



技术实现要素:

本申请实施例提供了一种冗余资源处理方法、装置、设备及存储介质,能够自动地对ui上的冗余资源进行删除处理,减少后续打开ui时所需时间以及所需内存。

有鉴于此,本申请第一方面提供了一种冗余资源处理方法,包括:

获取用户界面ui上的ui资源;

当根据ui资源之间的引用关系以及ui逻辑代码,确定所述ui资源未被其它ui资源和ui逻辑代码引用时,确定所述ui资源为冗余资源,并对所述冗余资源进行删除处理。

本申请第二方面提供了一种冗余资源处理装置,包括:

获取单元,用于获取用户界面ui上的ui资源;

处理单元,用于当根据ui资源之间的引用关系以及ui逻辑代码,确定所述ui资源未被其它ui资源和ui逻辑代码引用时,确定所述ui资源为冗余资源,并对所述冗余资源进行删除处理。

本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:

所述存储器用于存储计算机程序;

所述处理器用于根据所述计算机程序执行上述第一方面所述的冗余资源处理方法。

本申请第四方面提供了计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的冗余资源处理方法。

本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的冗余资源处理方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供的冗余资源处理方法中,在获取ui上的ui资源之后,根据ui资源之间的引用关系以及ui逻辑代码,确定该ui资源是否被其它ui资源和ui逻辑代码引用。当确定该ui资源未被其它ui资源和ui逻辑代码引用时,将该ui资源确定为冗余资源,并对该冗余资源进行删除处理。其中,由于在确定该ui资源未被被其它ui资源和ui逻辑代码引用后,则可以确定该ui资源不仅与其他ui资源没有任何关联,而且该ui资源也没有被ui逻辑代码赋予任何实际用途,因而,可以确定该ui资源是ui上没有任何实际功能的冗余资源,使得在对该冗余资源进行删除处理之后,不仅不会影响ui的实际功能,还能够减少ui的资源量,从而减少后续打开ui时所需时间以及所需内存。

附图说明

图1为本申请实施例提供的冗余资源处理方法的一种应用场景示意图;

图2为本申请实施例提供的冗余资源处理方法的另一种应用场景示意图;

图3为本申请实施例提供的一种冗余资源处理方法的流程图;

图4为本申请实施例提供的冗余资源处理方法的流程图;

图5为本申请实施例提供的ui示意图;

图6为本申请实施例提供的一种冗余资源处理装置的结构示意图;

图7为本申请实施例提供的另一种冗余资源处理装置的结构示意图;

图8为本申请实施例提供的一种终端设备的结构示意图;

图9为本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

相关技术中,对于开发得到的ui,通常是由开发人员在ui编辑器中手动查询ui上的冗余资源,以便开发人员对该冗余资源进行手动删除。由于冗余资源的手动处理过程耗时较长且在查询过程中容易发生冗余资源的遗漏,因而,冗余资源的手动处理过程不仅导致人力资源的浪费,也容易因冗余资源删除不彻底导致后续打开ui时所需时间以及所需内存的增加。

针对背景技术以及上述相关技术中存在的技术问题,本申请实施例提供了一种冗余资源处理方法,既能够对ui上的冗余资源进行删除处理,减少后续打开ui时所需时间以及内存,又能够自动地识别并删除冗余资源,避免人力资源的浪费,还能够全部识别出ui上的冗余资源,避免因在查询过程中发生冗余资源的遗漏而导致冗余资源删除不彻底。

具体的,在本申请实施例提供的冗余资源处理方法中,获取用户界面ui上的ui资源;根据ui资源之间的引用关系以及ui逻辑代码,判断该ui资源是否被其他ui资源和ui逻辑代码引用;若确定该ui资源未被其它ui资源和ui逻辑代码引用,则确定该ui资源为冗余资源,并对该冗余资源进行删除处理。

在本申请实施例提供的冗余资源处理方法中,由于在确定获取的ui资源未被被其它ui资源和ui逻辑代码引用后,可以确定该ui资源不仅与其他ui资源没有任何关联,而且该ui资源也没有被ui逻辑代码赋予任何实际用途,因而,可以确定该ui资源是ui上没有任何实际功能的冗余资源,使得在对该冗余资源进行删除处理之后,不仅不会影响ui的实际功能,还能够减少ui的资源量,从而减少后续打开ui时所需时间以及所需内存。另外,冗余资源的识别过程以及冗余资源的删除处理过程均是自动执行的,无需人工参与,避免人力资源的浪费。此外,冗余资源的识别过程能够覆盖到ui上的各个ui资源,从而能够全部识别出ui上的冗余资源,避免因在查询过程中发生冗余资源的遗漏而导致冗余资源删除不彻底。

应理解,本申请实施例提供的冗余资源处理方法可以应用于数据处理设备,如终端设备、服务器等;其中,终端设备具体可以为智能手机、计算机、个人数字助理(personaldigitalassitant,pda)、平板电脑等;服务器具体可以为应用服务器,也可以为web服务器,在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。

若本申请实施例提供的冗余资源处理方法由终端设备执行时,则终端设备可以直接根据本地存储空间中的ui以及ui相关信息(例如,ui相关信息可以包括ui资源之间的引用关系、ui逻辑代码等)进行冗余资源的识别和删除处理。如此,终端设备执行该冗余资源处理方法能够周期性地进行冗余资源的识别和删除处理,进而能够实时地进行冗余资源的识别和删除处理,从而及时地发现并删除冗余资源,避免因ui上存在冗余资源而导致打开ui时所需时间以及所需内存的增加。若本申请实施例提供的冗余资源处理方法由服务器执行时,则服务器先根据终端设备上传的ui以及ui相关信息进行冗余资源的识别和删除处理,再将处理后的ui发送给终端设备,以便终端设备根据接收的处理后的ui更新终端设备的本地ui。

为了便于理解本申请实施例提供的技术方案,下面结合图1以本申请实施例提供的冗余资源处理方法应用于终端设备为例,对本申请实施例提供的冗余资源处理方法适用的应用场景进行示例性介绍。其中,图1为本申请实施例提供的冗余资源处理方法的一种应用场景示意图。

如图1所示,该应用场景包括:终端设备101和用户102;终端设备101用于将ui显示给用户102;终端设备101还用于执行本申请实施例提供的冗余资源处理方法。

终端设备101先获取ui上的ui资源,再根据ui资源之间的引用关系以及ui逻辑代码,判断该ui资源是否被其他ui资源和ui逻辑代码引用。当确定该ui资源未被其它ui资源和ui逻辑代码引用时,确定该ui资源为冗余资源,并对该冗余资源进行删除处理。如此终端设备101能够显示处理后的ui,以便用户102能够查看该处理后的ui。

应理解,在实际应用中,也可以将本申请实施例提供的冗余资源处理方法应用于服务器,参见图2,该图为本申请实施例提供的冗余资源处理方法的另一种应用场景示意图。如图2所示,服务器201能够根据终端设备202发送的ui以及ui相关信息进行冗余资源处理,并将处理后的ui发送给终端设备202,使得终端设备202能够根据该处理后的ui更新本地ui,并将更新后的本地ui显示给用户203。其中,服务器201根据ui以及ui相关信息进行冗余资源处理,具体可以为:服务器201先获取ui上的ui资源,再根据ui资源之间的引用关系以及ui逻辑代码,判断该ui资源是否被其他ui资源和ui逻辑代码引用。当确定该ui资源未被其它ui资源和ui逻辑代码引用时,确定该ui资源为冗余资源,并对该冗余资源进行删除处理,以便得到处理后的ui。

应理解,图1和图2所示的应用场景仅为示例,在实际应用中,本申请实施例提供的冗余资源处理方法还可以应用于其他需要处理冗余资源的应用场景,在此不对本申请实施例提供的冗余资源处理方法做任何限定。

下面通过实施例对本申请提供的冗余资源处理方法进行介绍。

方法实施例一

参见图3,该图为本申请实施例提供的一种冗余资源处理方法的流程图。

本申请实施例提供的冗余资源处理方法,包括步骤s301-s302:

s301:获取用户界面ui上的ui资源。

ui资源是指用于构成用户界面的资源。例如,ui资源可以包括ui组件和ui图片中的至少一个。

在本申请实施例中,不同类型的ui资源可以采用不同的获取方式,下面结合两个示例进行说明。

作为第一示例,当ui资源包括ui组件时,则s301具体可以为:检索ui对应的属性文件,获取ui上的ui组件。

其中,ui组件与属性文件具有一一对应的关系,也就是,每一ui组件对应于一个属性文件;而且,属性文件用于记录对应的ui组件的属性信息。属性信息可以包括至少一种属性。例如,属性信息可以包括位置信息、形状信息、组件之间的引用关系信息、组件与其他ui资源之间的引用关系信息等中的至少一种。

需要说明的是,本申请实施例不限定属性文件的具体实施方式,例如,属性文件可以是可扩展标记语言(extensiblemarkuplanguage,xml)文件。

作为第二示例,当ui资源包括ui图片时,则s301具体可以为:从ui包中获取ui图片。

其中,ui包用于记录至少一个ui上的各个ui资源。例如,一个ui包可以用于记录第一用户界面上的各个ui资源和第二用户界面上的各个ui资源。

需要说明的是,本申请实施例不限定ui包的具体实施方式,例如,ui包可以是文件夹。

还需要说明的是,在一种可能的实施方式下,ui包中还可以包括:各个ui组件对应的属性文件。

s302:当根据ui资源之间的引用关系以及ui逻辑代码,确定该ui资源未被其它ui资源和ui逻辑代码引用时,确定该ui资源为冗余资源,并对该冗余资源进行删除处理。

在本申请实施例中,不同ui资源之间可以进行引用,其具体为:同一类型的ui资源之间可以进行引用,例如,不同ui组件之间可以进行引用;而且,不同类型的ui资源之间也可以进行引用,例如,ui组件和ui图片之间可以进行引用。另外,ui资源之间的引用关系用于记录不同资源之间的引用信息;而且,本申请实施例不限定ui资源之间的引用关系的具体实施方式。例如,不同组件之间的引用关系可以利用属性文件进行记录;ui组件和ui图片之间的引用关系可以利用ui表格进行记录,也可以利用属性文件进行记录。

在本申请实施例中,ui逻辑代码可以通过引用ui资源,为ui资源赋予相应的用途。例如,ui逻辑代码中在使用ui组件和/或ui图片时,可以对ui组件和/或ui图片赋予相应的用途。

另外,为了便于理解和解释s302,下面将结合s302的三种实施方式进行说明。

作为第一种实施方式中,s302具体可以包括步骤s302a1-s302a4:

s302a1:根据ui资源之间的引用关系以及ui逻辑代码,判断该ui资源是否被其它ui资源和ui逻辑代码引用,若是,则执行步骤s302a2;若否,则执行步骤s302a3-s302a4。

在本申请实施例中,若该ui资源被其它ui资源引用,则表示ui上的其它ui资源使用了该ui资源,使得该ui资源在ui上的功能不是孤立的,因而,可以确定该ui资源是非冗余资源。若该ui资源被ui逻辑代码引用,则表示在ui逻辑代码中使用了该ui资源,使得该ui资源具有ui逻辑代码赋予的用途,因而,可以确定该ui资源是非冗余资源。若该ui资源既未被其它ui资源引用,又未被ui逻辑代码引用,则表示该ui资源在ui上的功能是孤立的,且ui逻辑代码未赋予该ui资源任何用途,使得该ui资源在ui上是可有可无的,因而,可以确定该ui资源是冗余资源。

需要说明的是,在本申请实施例中,不限定执行动作“判断该ui资源是否被其它ui资源引用”和执行动作“判断该ui资源是否被ui逻辑代码引用”之间的执行顺序,可以先执行前者再执行后者,也可以先执行后者再执行前者,还可以同时执行两者。

s302a2:确定该ui资源为非冗余资源。

在本申请实施例中,当确定该ui资源为非冗余资源时,则表示该ui资源是ui上不可缺少的资源,此时,无需对该ui资源进行任何处理。

s302a3:确定该ui资源为冗余资源。

在本申请实施例中,当确定该ui资源为冗余资源时,则表示该ui资源是ui上可以删除的资源,此时,可以对该ui资源进行删除处理。

s302a4:对该冗余资源进行删除处理。

在本申请实施例中,在确定该ui资源为冗余资源之后,可以直接将该ui资源删除,以使ui上不再包括该ui资源。

另外,在一些应用场景中,为了能够更好地进行冗余资源的处理,还可以由特定处理对象对该冗余资源进行删除处理,因而,本申请还提供了s302a4的一种具体实施方式,在该实施方式中,s302a4具体可以包括步骤s302a41-s302a42:

s302a41:确定冗余资源所属的ui包。

在本申请实施例中,不同的ui资源可能属于不同的ui包,也可能属于相同的ui包,而且,不同的ui包可能对应于不同的处理对象,也可以能对应于相同的处理对象,因而,为能够确定冗余资源对应的处理对象,可以先确定冗余资源所属的ui包,以便后续能够根据该ui包确定负责处理该冗余资源的处理对象。

另外,在本申请实施例中,可以采用多种方式来确定冗余资源所属的ui包,下面以s302a41的一种实施方式为例进行说明。

作为一种实施方式,s302a41具体可以为:根据冗余资源的标识,确定该冗余资源所属的ui包。

其中,冗余资源的标识能够唯一标记冗余资源;而且,本申请实施例不限定冗余资源的标识的表示形式,例如,冗余资源的标识可以名称、数字、符号等。

在上述实施方式中,在确定ui资源为冗余资源后,需要根据该冗余资源的标识,来确定该冗余资源所属的ui包,以便后续能够根据该ui包确定负责处理该冗余资源的目标对象。

另外,在本申请实施例中,针对不同类型的冗余资源,步骤s302a41可以采用不同的实施方式,为了便于理解和解释,下面结合两个示例进行说明。

作为第一示例,当冗余资源包括ui组件时,则s302a41具体可以为:首先,获取冗余资源的属性文件;然后,根据该属性文件,确定冗余资源所属的ui包。

在第一示例中,由于ui包可以包括ui组件对应的属性文件,而且,ui组件与属性文件具有一一对应的关系,因而,在确定ui组件所属的ui包时,可以先获取该ui组件对应的属性文件,以便根据该ui组件对应的属性文件确定该ui组件所属的ui包。

需要说明的是,当ui包为文件夹时,则ui组件对应的属性文件存储在该ui组件所属的ui包文件夹下。

还需要说明的是,属性文件的相关内容请参考上述步骤s301中记录的“属性文件”的相关内容。

还需要说明的是,在一些应用场景下,当ui组件与属性文件之间对应关系借助于ui组件的标识进行记录,也就是,ui组件的标识与属性文件之间具有一一对应关系时,s302a41具体可以为:首先,根据冗余资源的标识,获取冗余资源的属性文件;然后,根据该属性文件,确定冗余资源所属的ui包。

作为第二示例,当冗余资源包括ui图片时,则s302a41具体可以为:根据ui图片的标识,确定ui图片所属的ui包括。

在第二示例中,由于ui包可以包括ui图片,因而,在确定ui图片所属的ui包时,可以直接根据ui图片的标识,确定ui图片所属的ui包即可。

需要说明的是,假设ui包为文件夹时,则ui图片存储在该ui图片所属的ui包文件夹下。

s302a42:根据该ui包以及ui包与处理对象之间的对应关系,获得目标对象,以便由该目标对象对该冗余资源进行删除处理。

在本申请实施例中,ui包与处理对象之间的对应关系用于记录ui包与负责处理ui包的处理对象之间的对应关系,而且,本申请实施例不限定ui包与处理对象之间的对应关系。例如,ui包与处理对象之间可以是一一对应的关系,也可以是一对多的对应关系,还可以是多对一的对应关系。

另外,本申请实施例不限定处理对象的具体实施方式,例如,若步骤s302a42在终端设备(或服务器)上执行时,则处理对象可以是该终端设备(或服务器)上任一能够对冗余资源进行处理的其它处理模块;处理对象也可以是任一能够对冗余资源进行处理的其它处理设备(例如,终端设备、服务器等);处理对象还可以是能够对冗余资源进行处理的用户(例如,ui开发人员、ui测试人员等)。

基于此,针对不同的处理对象,步骤s302a42可以采用不同的实施方式,下面结合三个示例进行说明。

作为第一示例,当步骤s302a42在终端设备(或服务器)的执行模块中执行,且目标对象为第一处理模块时,则步骤s302a42具体可以为:在终端设备(或服务器)中,执行模块根据该ui包以及ui包与处理对象之间的对应关系,获得目标对象为第一处理模块;执行模块将该冗余资源发送给第一处理模块,以便由第一处理模块对该冗余资源进行删除处理。

作为第二示例,当步骤s302a42在第一设备上执行,且目标对象为第二设备时,则步骤s302a42具体可以为:第一设备根据该ui包以及ui包与处理对象之间的对应关系,获得目标对象为第二设备;第一设备将该冗余资源发送给第二设备,以便由第二设备对该冗余资源进行删除处理。

作为第三示例,当步骤s302a42在第一设备上执行,且目标对象为第一开发人员时,则步骤s302a42具体可以为:第一设备根据该ui包以及ui包与处理对象之间的对应关系,获得目标对象为第一开发人员;第一设备将该冗余资源以特定方式显示给第一开发人员,以便由第一开发人员对该冗余资源进行删除处理。

上述以三个示例为例对步骤s302a42的具体实施方式进行了说明,但是,在本申请实施例中,步骤s302a42还可以采用其他实施方式,下面将依次介绍。

在一些应用场景中,为了提高冗余资源的处理效率,可以对ui包中的至少一个冗余资源同时进行删除处理,因而,本申请还提供步骤s302a42一种实施方式,在该实施方式中,步骤s302a42具体包括:根据ui包中的至少一个冗余资源,生成资源处理列表,并将该资源处理列表发送给目标对象,以便目标对象根据资源处理列表对冗余资源进行删除处理。

资源处理列表用于记录ui包中至少一个冗余资源,而且,资源处理列表与目标对象之间具有对应关系。

需要说明的是,本申请实施例不限定资源处理列表与目标对象之间的对应关系,资源处理列表与目标对象之间可以是一一对应的关系,也可以是一对多的关系,还可以是多对一的关系。

为了便于理解和解释上述s302a42的实施方式,下面结合示例进行说明。

作为示例,当ui包中存在n个冗余资源,且m≤n时,s302a42具体可以为:先获取ui包中的m个冗余资源;再根据ui包中的m个冗余资源,生成资源处理列表,以便使得该资源处理列表能够记录有该m个冗余资源;再将该资源处理列表发送给目标对象,以便目标对象根据资源处理列表对冗余资源进行删除处理。

需要说明的是,在上述示例中,本申请实施例不限定m的值,m可以预先设定,也可以根据实际应用场景设定。

在上述步骤s302的第一种实施方式中,先利用ui资源之间的引用关系以及ui逻辑代码,对ui资源进行筛选,得到未被其它ui资源和ui逻辑代码引用的冗余资源,并对该冗余资源进行删除处理,如此实现在不影响ui的实际功能的前提下删除冗余资源,能够减少ui的资源量,从而减少后续打开ui时所需时间以及所需内存。

另外,为了能够提高冗余资源的处理效率,可以按照资源类型对冗余资源进行删除处理,其处理过程可以为:当冗余资源包括第1种类型冗余资源至第t种类型冗余资源时,对第1种类型冗余资源进行删除处理;并基于该处理结果,再对第2种类型冗余资源进行删除处理;并基于该处理结果,再对第3种类型冗余资源进行删除处理;……(依次类推);并基于对第t-1种类型冗余资源进行删除处理后的处理结果,再对第t种类型冗余资源进行删除处理。如此,由于每一种类型冗余资源的删除处理过程均是基于当前类型之前的其它类型冗余资源的处理结果执行的,使得当前类型冗余资源的删除处理过程不仅能够对ui上原有的当前类型冗余资源进行删除处理,还能够对因对当前类型之前的其它类型冗余资源进行删除处理后新产生的当前类型冗余资源进行删除处理,使得对当前类型冗余资源进行删除处理的效率提高,从而提高了冗余资源的处理效率。基于此,本申请提供了步骤s302的第二种实施方式,而且,为了便于理解和解释该实施方式,下面以包括两个类型ui资源的处理过程为例进行说明。

作为s302的第二种实施方式,当ui资源包括第一类型ui资源和第二类型ui资源时,s302具体可以包括s302b1-s302b2:

s302b1:当根据ui资源之间的引用关系以及ui逻辑代码,确定第一类型ui资源未被其它ui资源和ui逻辑代码引用时,确定第一类型ui资源为冗余资源,并对该冗余资源进行删除处理。

第一类型ui资源可以为ui资源中的任一种类型的ui资源,例如,第一类型ui资源可以为ui组件。

需要说明的是,步骤s302b1可以采用上述步骤s302的第一种实施方式所提供的任一种实施方式进行实施,只需将步骤s302的第一种实施方式所提供的任一种实施方式中的“该ui资源(也就是在步骤s301中获取的ui资源)”替换为“第一类型ui资源”即可,其技术详情请参照上述步骤s302的第一种实施方式的相关内容,为了简要起见,在此不再赘述。

s302b2:当根据ui资源之间的引用关系以及ui逻辑代码,确定第二类型ui资源未被其它ui资源和ui逻辑代码引用时,确定第二类型ui资源为冗余资源,并对该冗余资源进行删除处理。

第二类型ui资源可以ui资源中除了第一类型ui资源以外的其它任一种类型的ui资源,例如,当第一类型ui资源为ui组件时,第二类型ui资源可以为ui图片。

需要说明的是,步骤s302b2可以采用上述步骤s302的第一种实施方式所提供的任一种实施方式进行实施,只需将步骤s302的第一种实施方式所提供的任一种实施方式中的“该ui资源(也就是在步骤s301中获取的ui资源)”替换为“第二类型ui资源”即可,其技术详情请参照上述步骤s302的第一种实施方式的相关内容,为了简要起见,在此不再赘述。

还需要说明的是,上述以ui资源包括第一类型ui资源和第二类型ui资源为例对步骤s302的第二种实施方式进行说明。然而,在本申请实施例中ui资源可以包括至少一种类型ui资源,而且该ui资源的处理过程与上述实施方式提供的过程相似,为了简要起见,在此不再赘述。

在上述步骤s302的第二种实施方式中,通过按照资源类型对冗余资源进行删除处理,使得每一种类型冗余资源的删除处理过程不仅能够对ui上原有的当前类型冗余资源进行删除处理,还能够对因对当前类型之前的其它类型冗余资源进行删除处理后新产生的当前类型冗余资源进行删除处理,使得当前类型冗余资源进行删除处理的效率提高,从而提高了冗余资源的处理效率。

另外,在一些应用场景下,由于一些没有实际功能的ui资源具有特殊用途,使得这些具有特殊用途的ui资源不能被删除,因而,为了能够保护这些具有特殊用途的ui资源不被删除,可以将这些具有特殊用途的ui资源添加至资源白名单中,以便利用资源白名单对这些具有特殊用途的ui资源进行保护。因此,基于上述步骤s302的第一种实施方式和第二种实施方式,本申请还提供了步骤s302的第三种实施方式,在该实施方式中,s302具体可以为:当根据ui资源之间的引用关系、ui逻辑代码以及资源白名单,确定该ui资源未被其它ui资源和ui逻辑代码引用,且该ui资源不在资源白名单中时,确定该ui资源为冗余资源。

其中,资源白名单用于记录非冗余资源。也就是,若ui资源被记录在资源白名单中,则确定该ui资源肯定不是冗余资源。

为了便于理解和解释步骤s302的第三种实施方式,下面将结合各个执行动作进行说明。

在具体实现时,s302的第三种实施方式具体包括步骤s302c1-s302c4:

s302c1:根据ui资源之间的引用关系、ui逻辑代码以及资源白名单,判断ui资源是否满足预设条件,若是,则执行步骤s302c2;若否,则执行步骤s302c3-s302c4。

其中,满足预设条件是指满足以下三个条件中的至少一个条件,且该三个条件包括:ui资源被其他ui资源引用、ui资源被ui逻辑代码引用、以及ui资源在资源白名单中。

在本申请实施例中,若ui资源在资源白名单中,则表示该ui资源是被资源白名单保护的资源,使得该ui资源不能被确定为冗余资源,因而,可以确定该ui资源是非冗余资源。

需要说明的是,在本申请实施例中,执行动作“判断该ui资源是否被其它ui资源和ui逻辑代码引用”的技术详情请参照上述s302的第一种实施方式中的步骤s302a1。

还需要说明的是,在本申请实施例中,不限定第一执行动作“判断该ui资源是否在资源白名单中”、第二执行动作“判断该ui资源是否被其它ui资源引用”和第三执行动作“判断该ui资源是否被ui逻辑代码引用”之间的执行顺序。例如,可以依次执行第一执行动作、第二执行动作和第三执行动作,也可以依次执行第二执行动作、第一执行动作和第三执行动作,……(可以按照其他执行顺序来依次执行);而且,也可以同时执行第一执行动作、第二执行动作和第三执行动作中的至少一个。

s302c2:确定该ui资源为非冗余资源。

s302c3:确定该ui资源为冗余资源。

s302c4:对该冗余资源进行删除处理。

需要说明的是,步骤s302c2-s302c4分别与上述s302的第一种实施方式中的步骤s302a2-s302a4相同,技术详情请参照上述步骤s302a2-s302a4。

在上述提供的步骤s302的第三种实施方式中,通过增加动作“判断ui资源是否在资源白名单上”的方式,使得资源白名单能够对具有特殊用途的ui资源进行保护,避免将具有特殊用途的ui资源作为冗余资源进行删除处理,从而更好地实现在不影响ui的实际功能的前提下进行冗余资源的删除。

另外,为了保证资源白名单能够更好地保护具有特殊用途的ui资源,还可以根据未删除的冗余资源,更新资源白名单。基于此,本申请提供了的冗余资源处理方法的另一种实施方式,在该实施方式中,冗余资源处理方法除了包括步骤s301和s302以外,还可以包括步骤s303,且步骤s303具体为:获取未删除冗余资源,并将未删除冗余资源添加至资源白名单。

本申请实施例不限定未删除冗余资源的获取方式,为了便于理解和解释,下面结合两个示例进行说明。

作为第一示例,未删除冗余资源的获取过程具体为:判断冗余资源是否在ui上,若是,则确定该冗余资源为未删除,则将该冗余资源作为未删除的冗余资源;若否,则确定该冗余资源已删除。

在第一示例中,如果在动作“对冗余资源进行删除处理”执行完成的预设时间后,判断冗余资源是否在ui上。当冗余资源在ui上时,则确定该冗余资源未被删除,可以将该冗余资源作为未删除冗余资源;当冗余资源不在ui上时,则确定该冗余资源已被删除。

作为第二示例,当目标对象用于执行“对冗余资源进行删除处理”的动作时,则未删除冗余资源的获取过程具体为:在接收到目标对象发送的包括未删除冗余资源的非冗余资源列表后,根据该非冗余资源列表,获取未删除冗余资源,并将未删除冗余资源添加至资源白名单。

需要说明的是,在第二示例中的“目标对象”的技术详情请参照上述步骤s302a42中与“目标对象”相关的内容。

在上述提供的冗余资源处理方法的另一种实施方式中,通过利用未删除冗余资源更新资源白名单的方式,使得资源白名单能够更准确地为具有特殊用途的ui资源提供保护,从而更好地避免将具有特殊用途的ui资源作为冗余资源进行删除处理,从而更好地实现在不影响ui的实际功能的前提下进行冗余资源的删除。

另外,在一些应用场景下,一些冗余资源的删除能够导致一些新冗余资源的产生(例如,当冗余资源被删除后,该冗余资源引用的一些ui资源可能会变成冗余资源)。因而,为了能够尽量删除ui上的冗余资源,可以对ui进行冗余资源的循环处理。因此,基于上述提供的冗余资源处理方法的任一实施方式,本申请还提供了冗余资源处理方法的又一种实施方式,在该实施方式中,冗余资源处理方法除了包括上述步骤s301-s302,或,步骤s301-s303以外,还包括步骤s304:当确定冗余资源的个数超过预设数量阈值时,则继续执行“获取用户界面ui上的ui资源”的动作。

其中,预设数量阈值可以预先设定,尤其可以根据应用场景设定。例如,预设数量阈值可以设定为0或其他数值。

在本实施方式中,在对冗余资源进行删除处理之后,先判断该冗余资源是否的个数是否超过预设数量阈值,若是,则表示ui上的冗余资源个数较多,仍需对ui再执行一次冗余资源的处理过程;若否,则表示ui上的冗余资源个数较少(甚至为没有),而且该较少的冗余资源可以忽略,无需对ui再执行一次冗余资源的处理过程。

上述提供的冗余资源处理方法的又一种实施方式,通过对ui循环执行冗余资源处理过程,使得因删除冗余资源而产生的新冗余资源也能够被删除处理,从而实现在不影响ui的实际功能的情况下尽量删除冗余资源,从而减少ui的资源量,进而减少后续打开ui时所需时间以及所需内存。

在上述方法实施例一提供的冗余资源处理方法的任一实施方式中,在获取ui上的ui资源之后,根据ui资源之间的引用关系以及ui逻辑代码,确定该ui资源是否被其它ui资源和ui逻辑代码引用。当确定该ui资源未被其它ui资源和ui逻辑代码引用时,将该ui资源确定为冗余资源,并对该冗余资源进行删除处理。其中,由于在确定该ui资源未被被其它ui资源和ui逻辑代码引用后,则可以确定该ui资源不仅与其他ui资源没有任何关联,而且该ui资源也没有被ui逻辑代码赋予任何实际用途,因而,可以确定该ui资源是ui上没有任何实际功能的冗余资源,使得在对该冗余资源进行删除处理之后,不仅不会影响ui的实际功能,还能够减少ui的资源量,从而减少后续打开ui时所需时间以及所需内存。

需要说明的是,上述方法实施例提供的冗余资源处理方法既可以在终端设备上执行,也可以在服务器上执行,还可以在其他数据处理设备上执行,本申请对此不做具体限定。

为了便于进一步理解本申请实施例提供的冗余资源处理方法,方法实施例二将结合图4和图5对本申请实施例提供的冗余资源处理方法进行整体介绍。

方法实施例二

方法实施例二是在方法实施例一的基础上进行的改进,为了简要起见,方法实施例二中与方法实施例一中部分内容相同,在此不再赘述,该内容相同的部分的技术详情请参照方法实施例一中的相关内容。

参见图4,该图为本申请实施例提供的冗余资源处理方法的流程图;参见图5,该图为本申请实施例提供的ui示意图。

本申请实施例提供的冗余资源处理方法,包括步骤s401-s415:

s401:通过检索ui对应的各个属性文件,获取ui上的各个ui组件。

在本申请实施例中不限定ui的来源,例如,ui可以来自于游戏系统,此时,ui可以为图5所示的游戏界面。

在本申请实施例中不限定ui组件的类型,而且,ui组件可以是指任一种能够被控制或使用的组件。例如,在图5所示的ui上,能够被控制或使用的“详细信息”组件501、“添加好友”组件502、“空间”组件503、“返回”组件504、……(为了简要起见,图5中的其他ui组件不在此一一进行列举)均是ui组件。

需要说明的是,由于在一个游戏系统中可以包括多个ui,因而,在对整个游戏系统进行冗余资源处理时,可以对多个ui(甚至所有ui)同时进行冗余资源处理。作为示例,当游戏系统包括x个ui,且y≤x时,则s401具体可以为:通过检索游戏系统中的y个ui对应的各个属性文件,获取ui上的各个ui组件。

还需要说明的是,由于在本申请实施例可以对游戏系统中的各个ui采用相同的冗余资源处理手段,因而,在本申请实施例中,为了便于理解和解释,下面将以图5所示的ui为例进行后续步骤的说明。

还需要说明的是,在本申请实施例中,属性文件与ui组件具有一一对应的关系,且属性文件用于记录对应的ui组件的颜色、形状、位置、与其他ui组件之间的引用关系、以及与ui图片之间的引用关系等。

s402:遍历各个ui组件,筛选出满足第一筛选条件的各个ui组件,并将筛选出的各个ui组件存储至第一列表中。其中,第一筛选条件包括:ui组件未在其他ui组件的属性文件中被引用,且ui组件未在组件白名单中。

作为示例,在图5所示的ui上包括“详细信息”组件501、“添加好友”组件502、“空间”组件503、“返回”组件504、……(图5所示的ui上的其他ui组件),而且,假设“添加好友”组件502、“空间”组件503和“返回”组件504均满足第一筛选条件,则s402具体可以为:遍历图5所示的ui上的各个ui组件,筛选出满足第一筛选条件的各个ui组件,得到“添加好友”组件502、“空间”组件503和“返回”组件504,并将筛选出的“添加好友”组件502、“空间”组件503和“返回”组件504均存储至第一列表中。

需要说明的是,组件白名单用于记录非冗余组件;而且组件白名单能够保护记录在该组件白名单中的各个非冗余组件,避免对记录在该组件白名单中的非冗余组件进行删除处理。

还需要说明的是,在本申请实施例中,不限定执行动作“判断ui组件是否在组件白名单中”和执行动作“判断ui组件是否在其他ui组件的属性文件中被引用”之间的执行顺序,可以先执行前者再执行后者,也可以先执行后者再执行前者,还可以同时执行两者。

还需要说明的是,在本实施例中,可以将筛选出的各个ui组件存储至第一列表,也可以将筛选出的各个ui组件的标识存储至第一列表。其中,ui组件的标识用于唯一确定地标记该ui组件。

s403:遍历第一列表中的各个ui组件,筛选出满足第二筛选条件的各个ui组件,作为各个冗余组件,并将各个冗余组件存储至第二列表中。其中,第二筛选条件包括:ui组件未在ui逻辑代码中被使用,且ui组件未在ui表格中被使用。

作为示例,基于步骤s402中示例的内容,而且,假设“空间”组件503和“返回”组件504均满足第二筛选条件,则s403具体可以为:遍历“添加好友”组件502、“空间”组件503和“返回”组件504,筛选出满足第二筛选条件的各个ui组件,得到“空间”组件503和“返回”组件504;将“空间”组件503和“返回”组件504均作为冗余组件,并将“空间”组件503和“返回”组件504均存储至第二列表中。

需要说明的是,ui表格用于记录ui组件和ui图片之间的对应关系。

还需要说明的是,在本申请实施例中,不限定执行动作“判断ui组件是否在ui逻辑代码中被使用”和执行动作“判断ui组件是否在ui表格中被使用”之间的执行顺序,可以先执行前者再执行后者,也可以先执行后者再执行前者,还可以同时执行两者。

还需要说明的是,在本实施例中,可以将各个冗余组件存储至第二列表中,也可以将各个冗余组件的标识存储至第二列表中。

s404:遍历第二列表中的各个冗余组件,获取各个冗余组件的属性文件,并根据各个冗余组件的属性文件,确定各个冗余组件所属的ui包。

s405:根据各个冗余组件所属的ui包,利用ui包与处理对象之间的对应关系进行查询,确定各个冗余组件对应的处理对象。

s406:根据各个冗余组件和各个冗余组件对应的处理对象,生成各个处理对象对应的冗余组件订单,并将各个处理对象对应的冗余组件订单发送给各个处理对象,以便各个处理对象根据接收的冗余组件订单,获取各个无用组件,并删除各个无用组件。

需要说明的是,在本实施例中,各个处理对象对应的冗余组件可以通过预设方式发送给各个处理对象;其中,预设方式可以预先设定,尤其可以根据应用场景设定。例如,预设方式可以是腾讯的敏捷研发协作平台(tencentagileproductdevelopment,tapd)的应用程序接口(applicationprogramminginterface,api)接口;另外,预设方式还可以是其他能够实现订单发送的接口。

还需要说明的是,无用组件是指经过处理对象确认的冗余组件。在一些应用场景中,ui上的一些ui组件(例如,图5中的“空间”组件503)在当前时刻没有任何实际功能,但是,这些ui组件可能需要保留下来,以便在之后ui开发过程中赋予给这些ui组件实际功能,此时,为了能够保护这些在未来将赋予实际功能的ui组件不被删除,可以由处理对象对接收的各个冗余组件进行无用组件的确认,以便将这些在未来将赋予实际功能的ui组件作为有用组件,避免将这些在未来将赋予实际功能的ui组件进行删除处理。

s407:判断第二列表中冗余组件总数是否超过第一数量阈值,若是,则执行步骤s401;若否,则执行步骤s408。

需要说明的是,第一数量阈值可以预先设定,尤其可以根据应用场景设定。例如,第一数量阈值可以预先设定为0。

s408:遍历各个ui包中的各个ui图片,将各个ui图片存储至第三列表中。

在本申请实施例中不限定ui图片的表示形式,具体为:ui图片可以是ui上的任一种能够提供信息的图像,例如,ui图片可以是图5所示的ui上的用户头像505,也可以是聊天背景图像506,还可以是其他任一种能够提供信息的图像。

需要说明的是,在本实施例中,可以将ui图片存储至第三列表,也可以将ui图片的标识存储至第三列表中。其中,ui图片的标识用于唯一确定地标记该ui图片。

s409:遍历第三列表中的各个ui图片,筛选出满足第三筛选条件的各个ui图片,并将筛选出的各个ui图片存储至第四列表中。其中,第三筛选条件包括:ui图片未在ui组件的属性文件中被引用,且ui图片未在图片白名单中。

需要说明的是,图片白名单用于记录非冗余图片;而且图片白名单能够保护记录在该图片白名单中的各个非冗余图片,避免对记录在该图片白名单中的非冗余图片进行删除处理。

还需要说明的是,在本申请实施例中,不限定执行动作“判断ui图片是否在图片白名单中”和执行动作“判断ui图片是否在ui组件的属性文件中被引用”之间的执行顺序,可以先执行前者再执行后者,也可以先执行后者再执行前者,还可以同时执行两者。

还需要说明的是,在本实施例中,可以将筛选出的各个ui图片存储至第四列表中,也可以将筛选出的各个ui图片的标识存储至第四列表中。

s410:遍历第四列表中的各个ui图片,筛选出满足第四筛选条件的各个ui图片,作为各个冗余图片,并将各个冗余图片存储至第五列表中。其中,第四筛选条件包括:ui图片未在ui逻辑代码中被使用,且ui图片未在ui表格中被使用。

需要说明的是,在本实施例中,可以将各个冗余图片存储至第五列表中,也可以将各个冗余图片的标识存储至第五列表中。

还需要说明的是,在本申请实施例中,不限定执行动作“判断ui图片是否在ui逻辑代码中被使用”和执行动作“判断ui图片是否在ui表格中被使用”之间的执行顺序,可以先执行前者再执行后者,也可以先执行后者再执行前者,还可以同时执行两者。

s411:遍历第五列表中的各个冗余图片,确定各个冗余图片所属的ui包。

s412:根据各个冗余图片所属的ui包,利用ui包与处理对象之间的对应关系进行查询,确定各个冗余图片对应的处理对象。

s413:根据各个冗余图片和各个冗余图片对应的处理对象,生成各个处理对象对应的冗余图片订单,并将各个处理对象对应的冗余图片订单发送给各个处理对象,以便各个处理对象根据接收的冗余图片订单,获取各个无用图片,并删除各个无用图片。

需要说明的是,在本实施例中,各个处理对象对应的冗余图片可以通过预设方式发送给各个处理对象;其中,预设方式可以预先设定,尤其可以根据应用场景设定。例如,预设方式可以是腾讯的tapd的api接口;另外,预设方式还可以是其他能够实现订单发送的接口。

还需要说明的是,无用图片是指经过处理对象确认的冗余图片。在一些应用场景中,ui上的一些ui图片在当前时刻没有任何实际功能,但是,这些ui图片可能需要保留下来,以便在之后ui开发过程中赋予给这些ui图片实际功能,此时,为了能够保护这些在未来将赋予实际功能的ui图片不被删除,可以由处理对象对接收的各个冗余图片进行无用图片的确认,以便将这些在未来将赋予实际功能的ui图片作为有用图片,避免将这些在未来将赋予实际功能的ui图片进行删除处理。

s414:判断第五列表中冗余图片总数是否超过第二数量阈值,若是,则执行步骤s408;若否,则执行步骤s415。

需要说明的是,第二数量阈值可以预先设定,尤其可以根据应用场景设定。例如,第二数量阈值可以预先设定为0。

s415:结束冗余资源的处理过程。

需要说明的是,在实际应用中,步骤s401-s415可以贯穿于整个游戏研发周期,以使步骤s401-s415可以在整个游戏研发周期中反复进行循环执行,以便达到在整个游戏研发周期中对ui上冗余资源的自动化识别和删除。

以上为本方法实施例二提供的冗余资源处理方法,能够在整个游戏研发周期中自动地对ui上的冗余资源进行识别和删除,从而能够在整个游戏研发周期中将游戏所包括的各个ui上的冗余资源删除,以便提高了后续打开游戏各个ui时的效率,还减少了后续打开游戏各个ui时的内存消耗。

基于上述方法实施例提供的冗余资源处理方法,本申请还提供了对应的冗余资源处理装置,以使得上述方法实施例提供的冗余资源处理方法在实际中得以应用和实现。

装置实施例

需要说明的是,本实施例提供的冗余资源处理装置的技术详情可以参照上述方法实施例提供的冗余资源处理方法。

参见图6,该图为本申请实施例提供的一种冗余资源处理装置的结构示意图。

本申请实施例提供的冗余资源处理装置600,包括:

获取单元601,用于获取用户界面ui上的ui资源;

处理单元602,用于当根据ui资源之间的引用关系以及ui逻辑代码,确定所述ui资源未被其它ui资源和ui逻辑代码引用时,确定所述ui资源为冗余资源,并对所述冗余资源进行删除处理。

可选的,在图6所示的冗余资源处理装置600的基础上,所述处理单元602,具体用于:

当所述ui资源包括第一类型ui资源和第二类型ui资源时,且当根据ui资源之间的引用关系以及ui逻辑代码,确定所述第一类型ui资源未被其它ui资源和ui逻辑代码引用时,确定所述第一类型ui资源为冗余资源,并对所述冗余资源进行删除处理;

当根据ui资源之间的引用关系以及ui逻辑代码,确定所述第二类型ui资源未被其它ui资源和ui逻辑代码引用时,确定所述第二类型ui资源为冗余资源,并对所述冗余资源进行删除处理。

可选的,在图6所示的冗余资源处理装置600的基础上,所述处理单元602,具体用于:

当根据ui资源之间的引用关系以及ui逻辑代码,确定所述ui资源未被其它ui资源和ui逻辑代码引用时,确定所述ui资源为冗余资源;

确定所述冗余资源所属的ui包;

根据所述ui包以及ui包与处理对象之间的对应关系,获得目标对象,以便由所述目标对象对所述冗余资源进行删除处理。

可选的,在图6所示的冗余资源处理装置600的基础上,所述处理单元602,具体用于:

当所述冗余资源包括ui组件时,获取所述冗余资源的属性文件;

根据所述属性文件,确定所述冗余资源所属的ui包。

可选的,在图6所示的冗余资源处理装置600的基础上,所述处理单元602,具体用于:

根据所述ui包中的至少一个冗余资源,生成资源处理列表,并将所述资源处理列表发送给所述目标对象,以便所述目标对象根据所述资源处理列表对所述冗余资源进行删除处理。

可选的,在图6所示的冗余资源处理装置600的基础上,所述处理单元602,具体用于:

当根据ui资源之间的引用关系、ui逻辑代码以及资源白名单,确定所述ui资源未被其它ui资源和ui逻辑代码引用,且所述ui资源不在资源白名单中时,确定所述ui资源为冗余资源;其中,所述资源白名单用于记录非冗余资源。

可选的,在图6所示的冗余资源处理装置600的基础上,参见图7,图7为本申请实施例提供的另一种冗余资源处理装置的结构示意图,如图7所示,该冗余资源处理装置700还包括:

更新单元701,获取未删除冗余资源,并将所述未删除冗余资源添加至所述资源白名单。

上述装置实施例提供的冗余资源处理装置中,在获取ui上的ui资源之后,根据ui资源之间的引用关系以及ui逻辑代码,确定该ui资源是否被其它ui资源和ui逻辑代码引用。当确定该ui资源未被其它ui资源和ui逻辑代码引用时,将该ui资源确定为冗余资源,并对该冗余资源进行删除处理。其中,由于在确定该ui资源未被被其它ui资源和ui逻辑代码引用后,则可以确定该ui资源不仅与其他ui资源没有任何关联,而且该ui资源也没有被ui逻辑代码赋予任何实际用途,因而,可以确定该ui资源是ui上没有任何实际功能的冗余资源,使得在对该冗余资源进行删除处理之后,不仅不会影响ui的实际功能,还能够减少ui的资源量,从而减少后续打开ui时所需时间以及所需内存。

本申请实施例还提供了一种用于处理冗余资源的终端设备和服务器,下面将从硬件实体化的角度对本申请实施例提供的用于处理冗余资源的终端设备和服务器进行介绍。

参见图8,为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为平板电脑为例:

图8示出的是与本申请实施例提供的终端相关的平板电脑的部分结构的框图。参考图8,平板电脑包括:射频(英文全称:radiofrequency,英文缩写:rf)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的平板电脑结构并不构成对平板电脑的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行平板电脑的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据平板电脑的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器880是平板电脑的控制中心,利用各种接口和线路连接整个平板电脑的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行平板电脑的各种功能和处理数据,从而对平板电脑进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。

在本申请实施例中,该终端所包括的处理器880还具有以下功能:

获取用户界面ui上的ui资源;

当根据ui资源之间的引用关系以及ui逻辑代码,确定所述ui资源未被其它ui资源和ui逻辑代码引用时,确定所述ui资源为冗余资源,并对所述冗余资源进行删除处理。

可选的,所述处理器880还用于执行本申请实施例提供的冗余资源处理方法的任意一种实现方式的步骤。

本申请实施例还提供了一种服务器,图9是本申请实施例提供的一种服务器的结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。

服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器结构。

其中,cpu922用于执行如下步骤:

获取用户界面ui上的ui资源;

当根据ui资源之间的引用关系以及ui逻辑代码,确定所述ui资源未被其它ui资源和ui逻辑代码引用时,确定所述ui资源为冗余资源,并对所述冗余资源进行删除处理。

可选的,cpu922还可以用于执行本申请实施例中冗余资源处理方法的任意一种实现方式的步骤。

本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种冗余资源处理方法中的任意一种实施方式。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种冗余资源处理方法中的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储计算机程序的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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