CN109426509A - 资源处理方法和设备 - Google Patents
资源处理方法和设备 Download PDFInfo
- Publication number
- CN109426509A CN109426509A CN201710786591.3A CN201710786591A CN109426509A CN 109426509 A CN109426509 A CN 109426509A CN 201710786591 A CN201710786591 A CN 201710786591A CN 109426509 A CN109426509 A CN 109426509A
- Authority
- CN
- China
- Prior art keywords
- resource
- parameter value
- file
- software installation
- target
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种资源处理方法和设备,用于减小软件安装包的空间大小。本发明实施例方法包括:资源处理设备获取目标参数值和第一软件安装包,目标参数值为目标参数类型的参数值。当在第一软件安装包中包括至少两份资源文件时,其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,且不同资源文件包括相同的资源内容,资源处理设备根据目标参数值从该至少两份资源文件中确定目标资源文件。资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为该至少两份资源文件中除了目标资源文件之外的资源文件。通过删除非目标资源文件,减小了第二软件安装包的空间大小。
Description
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种资源处理方法和设备。
背景技术
用户设备在当今人们生活中的应用越来越普及,已经是人们日常生活必不可少的工具。随着硬件技术的不断演进和用户需求的增加,在用户设备上,出现了各种规格的硬件和适用于不同用户的软件设置。例如,在手机上,即出现了不同屏幕大小、不同屏幕分辨率或者不同屏幕密度的屏幕。
为了满足人们在不同用户设备上的用户体验,同时兼顾开发成本,软件开发商会在一个软件安装包中存放几套适配主流用户设备的资源文件。这样,在一用户设备上,即可根据需要安装该软件安装包中适配该用户设备的资源文件。
但是,一个用户设备因其硬件配置固定或者其设定的软件设置也往往是固定的,用户设备实际上不需要软件安装包中不适配当前用户设备的资源,从而软件开发商开发的该软件安装包包括了对具体的用户设备来说不需要的资源,这样,对该具体的用户设备来说,该软件安装包因资源文件的冗余而空间过大,导致了在传输该软件安装包时对传输资源的浪费,或者在存储该软件安装包时对存储资源的浪费等问题。
发明内容
本发明实施例提供了一种资源处理方法和设备,用于减小软件安装包的空间大小。
第一方面,本发明实施例提供了一种资源处理方法,该方法包括:资源处理设备获取目标参数值,该目标参数值为目标参数类型的参数值,即目标参数值为一具体的值,该目标参数值的类型为目标参数类型,目标参数类型为安装软件安装包的设备上配置的参数类型,不同设备配置的同一参数类型可以有不同的参数值,当然,也可以有相同的参数值。该安装软件安装包的设备可以安装第一软件安装包或者第二软件安装包。资源处理设备获取第一软件安装包,然后,资源处理设备判断在第一软件安装包中是否包括至少两份资源文件,该至少两份资源文件符合这样的条件:该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。若在第一软件安装包中包括至少两份这样的资源文件,表示该至少两份资源文件包括多余的资源文件,可以对其进行部分资源文件的删减,则资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为需要保留的资源文件,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,其中,非目标资源文件为该至少两份资源文件中除了目标资源文件之外的资源文件。通过删除非目标资源文件,得到的第二软件安装包的空间大小比第一软件安装包小。
这样,因非目标资源文件的删除,第二软件安装包相对于第一软件安装包的空间大小得到了减小,方便了对第二软件安装包进行传输和存储等操作,因第二软件安装包保留了目标资源文件,在该至少两份资源文件中的不同资源文件包括相同的资源内容,从而第二软件安装包并没出现资源内容的缺失,尤其是因资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,目标资源文件和目标参数值相关,从而在使用目标参数值的用户设备上,可使用该目标资源文件,这保证了该第二软件安装包在该用户设备上能成功安装或不影响用户在该用户设备上使用该第二软件安装包。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第一种实现方式中,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,包括:
资源处理设备判断在前述的至少两份资源文件中,是否存在资源文件匹配的参数值和目标参数值一致。若存在,则资源处理设备从至少两份资源文件中,确定匹配的参数值和目标参数值一致的目标资源文件,即确定出的目标资源文件匹配目标参数值,在安装该第二软件安装包的设备上,若该设备使用了目标参数值,则目标资源文件可以直接适配该设备。可以理解,该参数值和目标参数值比较,需要该参数值和目标参数值属于同一参数类型,即在本实现方式中,资源文件匹配的参数值为目标参数类型的参数值。若在前述的至少两份资源文件中,未存在资源文件匹配的参数值和目标参数值一致,还是需要保留部分资源文件,若把前述的至少两份资源文件都删除了,则安装第二软件安装包的设备不能使用该至少两份资源文件中的资源内容了,故而,此时资源处理设备从前述的至少两份资源文件中,根据预设规则确定目标资源文件,其中,预设规则包括目标参数值和目标参数类型的预设参数值的关系规则,根据预设规则确定的目标资源文件匹配该预设参数值,从而,可以实现确定出需要的目标资源文件。
这样,当在前述的至少两份资源文件中,存在资源文件匹配的参数值和目标参数值一致时,确定出保留的目标资源文件匹配目标参数值,使得第二软件安装包适配使用目标参数值的设备。当在前述的至少两份资源文件中,未存在资源文件匹配的参数值和目标参数值一致时,仍确定出需要保留的目标资源文件,即使该目标资源文件并不匹配目标参数值,这使得第二软件安装包可以为安装该第二软件安装包的设备提供该目标资源文件。
结合本发明实施例的第一方面的第一种实现方式,在本发明实施例的第一方面的第二种实现方式中,资源处理设备从至少两份资源文件中,根据预设规则确定目标资源文件之后,本实现方式的方法还包括:资源处理设备将目标资源文件转化为匹配目标参数值的资源文件。目标资源文件为供安装该第二软件安装包的设备使用的资源文件,因该目标资源文件为当在前述的至少两份资源文件中,未存在资源文件匹配的参数值和目标参数值一致时确定出的资源文件,该目标资源文件并不匹配目标参数值,通过转化目标资源文件,使其匹配目标参数值,从而使得目标资源文件适配使用目标参数值的设备,这在上述第一方面中资源处理设备获取的目标参数值为该设备使用的参数值时,使得第二软件包更符合该设备的使用要求。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第三种实现方式中,资源处理设备判断在第一软件安装包中是否包括至少两份资源文件,包括:资源处理设备根据预设的对应关系,确定与目标参数值对应的目录标识信息,其中,对应关系为目标参数值和目录标识信息的对应关系,目录标识信息用于标识资源目录。然后,资源处理设备在第一软件安装包的资源目录中确定由目录标识信息标识的目标资源目录,其中,第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,目标资源目录包括的资源文件匹配目标参数类型的参数值。这样,通过确定出目标资源目录即可确定出目标资源目录下的资源文件。跟着,资源处理设备判断在目标资源目录中是否包括前述第一方面所指的至少两份资源文件。
这样,因软件安装包包括资源目录,软件安装包的资源文件保存在资源目录下,确定了目标资源目录,即确定了目标资源目录下的资源文件。在目标资源目录下而不是在整个软件安装包下判断是否包括符合前述要求的至少两份资源文件,可以减少判断操作涉及到的判断范围,从而提高判断的处理效率。
结合本发明实施例的第一方面的第三种实现方式,在本发明实施例的第一方面的第四种实现方式中,目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配目标参数类型的不同参数值。
资源处理设备判断在目标资源目录中是否包括至少两份资源文件包括:资源处理设备判断是否存在相同名称的资源文件分别位于不同的目标资源目录中;若存在,则资源处理设备执行根据目标参数值从至少两份资源文件中确定目标资源文件的步骤,该至少两份资源文件为相同名称的资源文件。
因位于不同的目标资源目录的资源文件分别匹配目标参数类型的不同参数值,从而分别位于不同的目标资源目录中的相同名称的资源文件符合上述第一方面的至少两份资源文件符合的条件:即该相同名称的资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该相同名称的资源文件中的不同资源文件包括相同的资源内容,以及该相同名称的资源文件的数量为至少两份。通过是否存在相同名称的资源文件进行判断操作,可以提高本实现方式的处理效率。
结合本发明实施例的第一方面的第四种实现方式,在本发明实施例的第一方面的第五种实现方式中,目标参数类型为屏幕密度,相同名称的资源文件为相同名称的图片文件。这时,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,包括:
资源处理设备判断在相同名称的图片文件中,是否存在图片文件匹配的参数值和目标参数值一致;若存在,则资源处理设备从相同名称的图片文件中,确定匹配的参数值和目标参数值一致的图片文件;否则,资源处理设备通过一定规则确定出需要保留的图片文件,例如,资源处理设备判断在相同名称的图片文件中,是否存在图片文件匹配的参数值大于目标参数值。
若在相同名称的图片文件中,存在图片文件匹配的参数值大于目标参数值,则资源处理设备从匹配的参数值大于目标参数值的图片文件中,确定匹配的参数值最小的图片文件;若在相同名称的图片文件中,未存在图片文件匹配的参数值大于目标参数值,则资源处理设备从相同名称的图片文件中,确定匹配的参数值最大的图片文件。
这样,在目标参数类型为屏幕密度,相同名称的资源文件为相同名称的图片文件的场景中,确定出要保留的图片文件,在相同名称的图片文件中,存在图片文件匹配的参数值和目标参数值一致的条件下,确定出的图片文件为匹配目标参数值的资源文件,该图片文件适配使用目标参数值的设备。在相同名称的图片文件中,未存在图片文件匹配的参数值和目标参数值一致的条件下,通过上述方式确定出的图片文件,因先从屏幕密度的参数值大的图片文件开始进行选择,使得确定出的图片文件,即使使用在使用目标参数值的设备上,该图片文件的失真率较小。
结合本发明实施例的第一方面、或第一方面的第一种至第五种实现方式中的任意一种,在本发明实施例的第一方面的第六种实现方式中,资源处理设备为服务器,此时,资源处理设备获取目标参数值,包括:服务器获取用户设备发送的目标参数值,目标参数值为用户设备使用的参数值。服务器获取的目标参数值为用户设备使用的参数值,基于该目标参数值减小第一软件安装包的空间大小,得到的第二软件安装包更适用于该用户设备。资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,本实现方式的方法还包括:服务器向用户设备发送第二软件安装包,第二软件安装包用于在用户设备上进行安装。
将本实现方式的资源处理方法应用与服务器上,并通过该服务器为用户设备提供安装的第二软件安装包,因服务器对配置较高,且对软件安装包统一管理,使得该资源处理方法执行更高效,而该第二软件安装包为基于目标参数值减少了空间大小的安装包,在该目标参数值为用户设备使用的参数值时,该第二软件安装包更适用于在用户设备上进行安装。
结合本发明实施例的第一方面的第六种实现方式,在本发明实施例的第一方面的第七种实现方式中,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,本实现方式的方法还包括:服务器为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值;然后,服务器缓存配置有优化标志信息的第二软件安装包,缓存的第二软件安装包用于在预设发送条件下由服务器发送给目标用户设备,预设发送条件为优化标志信息的目标参数值和目标用户设备向服务器发送的参数值一致。
这样,在服务器在需要为使用目标参数值的用户设备提供经过减小空间大小处理操作的软件安装包时,通过优化标识信息的目标参数值和用户设备提供的参数值进行比较,在两者一致时服务器可以直接为用户设备提供缓存的第二软件安装包,从而提高了本实现方式的方法的执行效率。
结合本发明实施例的第一方面的第六种实现方式,在本发明实施例的第一方面的第八种实现方式中,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,本实现方式的方法还包括:服务器为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值。此时。服务器向用户设备发送第二软件安装包,包括:服务器向用户设备发送配置有优化标志信息的第二软件安装包,配置有优化标志信息的第二软件安装包用于在预设安装条件下在用户设备上进行安装,预设安装条件为优化标志信息的目标参数值和用户设备使用的目标参数类型的参数值一致。
这样,获取第二软件安装包的用户设备,在该优化标志信息的目标参数值和用户设备使用的目标参数类型的参数值一致时,用户设备才安装第二软件安装包,使得用户设备可以不同条件对第二软件安装包进行是否安装的处理。
结合本发明实施例的第一方面、或第一方面的第一种至第五种实现方式中的任意一种,在本发明实施例的第一方面的第九种实现方式中,资源处理设备为用户设备,目标参数值为用户设备使用的参数值。即本实现方式的方法应用于用户设备上,且目标参数值为用户设备使用的参数值,使得基于该目标参数值减小了空间大小的第二软件安装包更适用于该用户设备。
结合本发明实施例的第一方面、或第一方面的第一种至第四种实现方式中的任意一种,在本发明实施例的第一方面的第十种实现方式中,目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
结合本发明实施例的第一方面,在本发明实施例的第一方面的第十一种实现方式中,资源处理设备判断在第一软件安装包中是否包括至少两份资源文件,包括:资源处理设备根据预设的对应关系,确定与目标参数类型对应的目录标识信息,其中,对应关系为目标参数类型和目录标识信息的对应关系,目录标识信息用于标识资源目录。然后,资源处理设备在第一软件安装包的资源目录中确定由目录标识信息标识的目标资源目录,其中,第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,目标资源目录包括的资源文件匹配目标参数类型的参数值。这样,通过确定出目标资源目录即可确定出目标资源目录下的资源文件。跟着,资源处理设备判断在目标资源目录中是否包括前述第一方面所指的至少两份资源文件。
这样,因软件安装包包括资源目录,软件安装包的资源文件保存在资源目录下,确定了目标资源目录,即确定了目标资源目录下的资源文件。在目标资源目录下而不是在整个软件安装包下判断是否包括符合前述要求的至少两份资源文件,可以减少判断操作涉及到的判断范围,从而提高判断的处理效率。
第二方面,本发明实施例中提供一种资源处理设备,该资源处理设备具有上述方法中资源处理设备的功能。该功能可以通过硬件实现,也可能通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能的实现方式中,该资源处理设备包括:
获取单元,用于获取目标参数值,目标参数值为目标参数类型的参数值,目标参数类型为安装软件安装包的设备上配置的参数类型;
获取单元,还用于获取第一软件安装包;
判断单元,用于判断在第一软件安装包中是否包括至少两份资源文件,至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,至少两份资源文件中的不同资源文件包括相同的资源内容;
确定单元,用于若在第一软件安装包中包括至少两份资源文件,则根据目标参数值从至少两份资源文件中确定目标资源文件;
删除单元,用于删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
另一种可能的实现方式中,该资源处理设备包括:
网络接口,处理器;
该网络接口执行如下动作:获取目标参数值,目标参数值为目标参数类型的参数值,目标参数类型为安装软件安装包的设备上配置的参数类型;
该网络接口执行如下动作:获取第一软件安装包;
该处理器执行如下动作:判断在第一软件安装包中是否包括至少两份资源文件,至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,至少两份资源文件中的不同资源文件包括相同的资源内容;
该处理器执行如下动作:若在第一软件安装包中包括至少两份资源文件,则根据目标参数值从至少两份资源文件中确定目标资源文件;
该处理器执行如下动作:删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
第三方面,本发明实施例提供一种计算机存储介质,该计算机存储介质存储有程序代码,该程序代码用于指示执行上述第一方面的方法。
本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
资源处理设备获取目标参数值,目标参数值为目标参数类型的参数值,目标参数类型为安装软件安装包的设备上配置的参数类型;资源处理设备获取第一软件安装包。然后,资源处理设备判断在第一软件安装包中是否包括至少两份资源文件,其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。若在第一软件安装包中包括前述的至少两份资源文件,则资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,以及资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,其中,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
这样,在资源处理设备获取目标参数值和第一软件安装包后,资源处理设备可判断该第一软件安装包是否有多余的资源文件。当在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,以及该至少两份资源文件中的不同资源文件包括相同的资源内容时,表示该第一软件安装包中的该至少两份资源文件包括冗余的资源文件,为此,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为需要保留的资源文件,然后,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。该非目标资源文件为不必要的资源文件。这样,因非目标资源文件的删除,第二软件安装包相对于第一软件安装包的空间大小得到了减小,方便了对第二软件安装包进行传输和存储等操作,因第二软件安装包保留了目标资源文件,在该至少两份资源文件中的不同资源文件包括相同的资源内容,从而第二软件安装包并没出现资源内容的缺失,尤其是因资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,目标资源文件和目标参数值相关,从而在使用目标参数值的用户设备上,可使用该目标资源文件,这保证了该第二软件安装包在该用户设备上能成功安装或不影响用户在该用户设备上使用该第二软件安装包。
附图说明
图1为本发明实施例提供的一种软件安装包的资源目录示意图;
图2为本发明实施例的资源处理方法涉及的系统架构示意图;
图3为本发明实施例提供的一种资源处理方法的方法流程图;
图4为本发明实施例提供的一种资源处理方法的方法流程图;
图5为本发明实施例提供的一种资源处理方法的方法流程图;
图6为本发明实施例提供的一种资源处理方法的方法流程图;
图7为本发明实施例提供的一种资源处理方法的方法流程图;
图8为本发明实施例提供的一种资源处理设备的结构示意图;
图9为本发明实施例提供的一种资源处理设备的硬件结构示意图。
具体实施方式
本发明实施例提供了一种资源处理方法和设备,用于减少软件安装包的空间大小。
随着硬件技术的不断演进和用户需求的增加,在用户设备上,出现了各种规格的硬件和适用于不同用户的软件设置。
例如,在手机上,即出现了不同屏幕大小、不同屏幕分辨率或者不同屏幕密度的屏幕。具体到使用安卓(Android)系统和使用苹果iOS系统的用户设备,具体的情形如下所示:
表1示出了安卓系统的用户设备按照屏幕大小和屏幕密度的分布情况,如表1所示,该分布情况可包括20多种类型。
表1
表2示出了苹果iOS系统的用户设备按照屏幕大小和屏幕分辨率的分布情况,如表2所示,该分布情况包括9种类型。
表2
为此,为了满足人们在不同的用户设备上的用户体验,同时兼顾开发成本,应用程序/软件开发商,会在一个软件安装包中存放几套主流用户设备的适配资源。这样,在一用户设备上,即可根据需要安装该软件安装包中适配该用户设备的资源文件。
比如,在安卓系统的设备上安装的软件安装包中包括如图1所示的资源目录结构,以存放匹配不同屏幕密度的图片文件。图1示出了同一个图标适配3种不同dpi的屏幕,其中,hdpi即high dpi(高dpi),ldpi即low dpi(低dpi),mdpi即middle dpi(中dpi),png为文件扩展名,png即便携式网络图形(Portable Network Graphics)。此时,需要在该软件安装包的资源目录中存放3张相应的图标图片。
再如,适配苹果iOS系统的软件安装包中每个图片文件为了适配不同的屏幕密度,会有如下表3所示的格式。在表3中,同一个图标会在软件安装包中存放3张不同屏幕密度大小的图片文件。
表3
图片 | |
1 | image.png(30×30) |
2 | image@2x.png(60×60) |
3 | image@3x.png(90×90) |
但是,一个用户设备因其硬件配置固定或者其设定的软件设置也往往是固定的,用户设备实际上不需要软件安装包中不适配当前用户设备的资源,即一个软件安装包中往往会包括对于一具体的用户设备来说冗余的资源文件,这造成了对于该用户设备来说,该软件安装包的空间大小过大。为此,本发明实施例提供了一种资源处理方法和资源处理设备,用于减少软件安装包的空间大小。
在对本发明实施例提供的资源处理方法和资源处理设备进行详细描述之前,先对本发明实施例提供的资源处理方法和资源处理设备涉及到的一些技术术语进行介绍。下文的各实施例使用的相应技术术语可参考下述的技术术语的介绍。
屏幕分辨率:确定计算机屏幕上显示多少信息的设置,以水平和垂直像素来衡量。显示分辨率就是屏幕上显示的像素个数,分辨率160×128的意思是水平方向含有像素数为160个,垂直方向像素数128个。屏幕尺寸一样的情况下,分辨率越高,显示效果就越精细和细腻。
点密度(Dot Per Inch,DPI),表示的是每英寸所拥有的点数量。一般情况下点对应像素,DPI也被称为像素密度或屏幕密度。屏幕尺寸一样的情况下,DPI越高,显示效果就越精细和细致。
屏幕尺寸、分辨率与DPI的关系:x表示的是水平分辨率,y表示的是垂直分辨率,size表示的是屏幕的尺寸。
例如,一个机器,屏幕为4英寸(4英寸是对角线长度),屏幕分辨率为480X800,其DPI如下:
安卓应用程序包(Android Application Package,APK):是Android操作系统使用的一种应用程序包文件格式。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。一个APK文件内包含被编译的代码文件(.dex文件),资源文件(resources),assets,证书(certificates),和清单文件(manifest file)。本发明实施例主要涉及的是资源文件(resources)。
可以从中读取出需要的资源内容的文件,可称之为“资源文件”。资源文件的类型可以是图片、音频、视频、文字资源,或者其他可以在设备中展示的内容等等。由专门的程序接口去读取资源文件的资源内容,并在应用程序中根据需要向用户展示。
图2为本发明实施例的资源处理方法涉及的系统架构示意图,如图2所示,用户201使用用户设备202,用户设备202与服务器203通信连接,以完成软件安装包的安装。用户201在需要在用户设备202上安装软件安装包时,用户201可以通过个人计算机等设备将软件安装包传输给用户设备202,或者是通过用户设备202向服务器提出软件安装包的安装请求,以从服务器203获取软件安装包,或者是在用户设备202上预存有软件安装包时,用户201可以直接使用该预存的软件安装包。
软件开发者为了适配多种设备型号而使软件安装包中包含太多的多余资源文件,使得软件安装包体积太大,导致占用了过多的网络流量,以及占用了用户设备较多的设备空间。通过实施本发明实施例提供的资源处理方法,用户设备202或者服务器203可以根据用户的请求,对软件安装包进行优化,即减少软件安装包的空间大小。这样,用户设备202可以从服务器获取该优化后的软件安装包,或者在用户设备202上直接进行软件安装包的优化,从而,用户设备202可以使用该优化后的软件安装包进行安装。
可以理解,图2所示的网络架构只是示例性说明,并不对本发明实施例的资源处理方法构成限定,本发明实施例的资源处理方法还可以应用于多种场景,例如用户设备202可从个人计算机上获取软件安装包,或者用户设备从本地的存储器读取软件安装包等。
下文将对本发明实施例提供的资源处理方法和资源处理设备进行详细描述。
首先,先对本发明实施例的资源处理方法进行概括的说明。如图3所示,图3为本发明实施例提供的一种资源处理方法的方法流程图。
参阅图3,以及上文描述的内容,本发明实施例的资源处理方法包括:
步骤301:资源处理设备获取目标参数值。
其中,目标参数值为目标参数类型的参数值,即目标参数值为目标参数类型的一具体值。目标参数类型为安装软件安装包的设备上配置的参数类型。不同设备配置的同一参数类型可以有不同的参数值,当然,也可以有相同的参数值。该安装软件安装包的设备可以安装第一软件安装包或者第二软件安装包。
例如,目标参数类型为用户设备上配置的参数类型,目标参数值可以为某一用户设备上具体使用的参数值,即用户设备上配置的参数类型的参数值为目标参数值。因不同用户设备上使用不用的硬件型号或设置软件的不同规则,从而用户设备上产生对应于这些不用的硬件型号或软件的不同规则的参数值,软件安装包的资源文件与具体的参数值匹配,该资源文件才适用于具有该参数值的用户设备。
目标参数类型用于表示参数值的类型,例如,目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
本发明实施例的资源处理设备包括但不限于服务器、用户设备等。具体可以为个人计算机、工作站、智能手机、平板电脑等。
该安装软件安装包的设备可以和资源处理设备为同一设备,也可以不为同一设备。
具体来说,资源处理设备可以从其它设备获取目标参数值,也可以为从本地获取预存的目标参数值。
步骤301的具体实现方式有多种,例如:
1)在资源处理设备为服务器时,服务器可以获取用户设备发送的目标参数值。
2)在资源处理设备为用户设备时,该用户设备可以读取其使用的目标参数值。
3)用户向资源处理设备输入目标参数值。
步骤302:资源处理设备获取第一软件安装包。
资源处理设备获取第一软件安装包。该第一软件安装包可以用于在用户设备上进行安装。
该第一软件安装包中包括资源文件,这些资源文件与某一参数类型的参数值匹配,从而可以适配于具体的用户设备。
该第一软件安装包例如可以为上述的安卓应用程序包。
步骤303:资源处理设备判断在第一软件安装包中是否包括至少两份资源文件。若在第一软件安装包中包括该至少两份资源文件,则资源处理设备执行步骤304。
其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。
资源文件匹配一参数值,表示该资源文件与该参数值相应,匹配一参数值的资源文件,适配于使用该参数值的设备。例如,在用户设备的屏幕密度的参数值为hdpi时,匹配hdpi的图片文件可以在该用户设备上清晰显示,若为匹配屏幕密度的其它参数值的图片文件,则可能不能在该用户设备上清晰显示,或不能在该用户设备上显示。
资源内容为安装该资源文件的用户设备使用的内容,例如,资源内容为图片文件包括的画面信息,文本资源文件包括的文本信息等。
若两资源文件包括相同的资源内容但分别匹配不同的参数值,则这两资源文件可供不同的用户设备使用,且设备使用的资源内容相同。例如,两图标图片的画面内容相同,指向同一的图标,但该两图标图片的规格不同,例如,大小不同,或者匹配的屏幕密度不同,从而具体的用户设备可以根据需要从这两个图标图片中选择其一来显示。
资源处理设备在获取到目标参数值和第一软件安装包后,即可对该第一软件安装包进行判断,判断该第一软件安装包中的资源文件是否包括在目标参数类型下的冗余资源文件。资源处理设备判断在第一软件安装包中是否包括至少两份特定的资源文件,因该至少两份特定的资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,且该至少两份特定的资源文件中的不同资源文件包括相同的资源内容。从而可实现判断第一软件安装包中是否包括多份与目标参数类型的不同参数值匹配的资源文件。
因在安装该第一软件安装包的具体的用户设备上,只是使用目标参数类型的其中一个参数值,如使用步骤301中的目标参数值。从而,若在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容,则表示该第一软件安装包中的该至少两份资源文件具有冗余资源文件,在具体的用户设备上只需使用该至少两份资源文件中的其中之一即可,其它的资源文件可以删除,以实现对第一软件安装包的优化。
当然,在第一软件安装包中未包括至少两份该类型的资源文件,即在第一软件安装包中的资源文件中并不存在匹配目标参数类型的不同参数值的多份资源内容相同的资源文件,则表示第一软件安装包的在该目标参数类型下的资源文件并不具有冗余资源文件,从而资源处理设备可以不进行后续的优化处理。
可以理解,在本发明有的实施例中,步骤303有多种实现方式,例如,如下文将描述的步骤403至步骤405。或者,直接判断在第一软件安装包中是否包括相同名称的属于同一类型的资源文件。这些实现方式适用于安卓系统的设备中。
在本发明有的实施例中,步骤303的实现方式还可以为:
资源处理设备判断在第一软件安装包中是否包括至少两份资源文件,该至少两份资源文件的名称中,包括相同的文件名和扩展名,还包括不同的标识符。符合这些要求的资源文件中,满足,不同资源文件分别匹配目标参数类型的不同参数值,不同资源文件包括相同的资源内容。
例如如表3所示,表3的三份资源名称包括相同的文件名image,以及相同的扩展名png,还包括不同的标识符:无标识、2x和3x。这表示这三份资源文件为图片文件,具有相同的资源内容,分别匹配屏幕密度的不同参数值,其中,无标识的图片文件表示单倍屏幕密度、2x标识的图片文件表示双倍屏幕密度,3x标识的图片文件表示三倍屏幕密度。该实现方式适用于使用苹果iOS系统的设备。
步骤304:资源处理设备根据目标参数值从该至少两份资源文件中确定目标资源文件。
在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容,表示该至少两份资源文件中有多余的资源文件,需要对其进行精简。
资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为该至少两份资源文件中的部分资源文件,因目标资源文件的选择依据于目标参数值,从而该目标资源文件为需要在第一软件安装包中保留的资源文件。
其中,步骤304的具体实现方式有多种,例如:
1)从该分别匹配目标参数类型的不同参数值的至少两份资源文件中,确定出匹配目标参数值的目标资源文件。
2)若该至少两份资源文件中不存在匹配目标参数值的资源文件,则从该至少两份资源文件中确定匹配的参数值和目标参数值最相关的目标资源文件。例如,在该目标参数类型为屏幕密度、屏幕分辨率或屏幕大小时,从该至少两份资源文件中确定匹配的参数值大于目标参数值的资源文件;在目标参数类型为用户设备使用的语言时,匹配该目标参数类型的资源文件匹配不同的具体语言,目标参数值也为具体的语言,此时,确定出的目标资源文件匹配的具体语言与目标参数值最相近。
步骤305:资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包。
其中,非目标资源文件为该至少两份资源文件中除了目标资源文件之外的资源文件。
目标资源文件为需要在第一软件安装包中保留的资源文件,该至少两份资源文件中除了目标资源文件之外的资源文件可以删除。从而,确定了目标资源文件,该至少两份资源文件中剩下的非目标资源文件即可进行删除。在第一软件安装包中删除了该非目标资源文件后,得到的软件安装包可称之为第二软件安装包。因第二软件安装包未包括非目标资源文件,从而相对于第一软件安装包来说,第二软件安装包的空间大小得到了减少,而第二软件安装包中包括目标资源文件,在具体的用户设备上安装该第二软件安装包时,该用户设备若使用了目标参数类型的一参数值,例如使用了目标参数值,该用户设备即可使用第二软件安装包的目标资源文件。这样可以保证一致的用户体验,同时去除和优化不合适的资源文件,一方面减少了软件安装包的大小,从而可以减少该软件安装包下载的网络流量,提高了下载速度;另一方面减少了该软件安装包占用的空间资源,保证了软件安装包的高效运行。
综上所述,在资源处理设备获取目标参数值和第一软件安装包后,资源处理设备可判断该第一软件安装包是否有多余的资源文件。当在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,以及该至少两份资源文件中的不同资源文件包括相同的资源内容时,表示该第一软件安装包中的该至少两份资源文件包括冗余的资源文件,为此,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为需要保留的资源文件,然后,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。该非目标资源文件为不必要的资源文件。这样,因非目标资源文件的删除,第二软件安装包相对于第一软件安装包的空间大小得到了减小,方便了对第二软件安装包进行传输和存储等操作,因第二软件安装包保留了目标资源文件,在该至少两份资源文件中的不同资源文件包括相同的资源内容,从而第二软件安装包并没出现资源内容的缺失,尤其是因资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,目标资源文件和目标参数值相关,从而在使用目标参数值的用户设备上,可使用该目标资源文件,这保证了该第二软件安装包在该用户设备上能成功安装或不影响用户在该用户设备上使用该第二软件安装包。
图3为对本发明实施例的资源处理方法进行的概括说明,下文图4所示的实施例,将基于图3所示的实施例对本发明实施例的资源处理方法进行更详细的说明。
图4为本发明实施例提供的一种资源处理方法的方法流程图。参阅图4,以及参考上文的内容,本发明实施例的资源处理方法包括:
步骤401:资源处理设备获取目标参数值。
其中,目标参数值为目标参数类型的参数值。目标参数类型为安装软件安装包的设备上配置的参数类型。该安装软件安装包的设备可以安装第一软件安装包或者第二软件安装包。
目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
关于步骤401、目标参数类型、以及参数值的详细内容可参考步骤301的详细描述。
步骤402:资源处理设备获取第一软件安装包。
资源处理设备获取第一软件安装包。该第一软件安装包可以用于在用户设备上进行安装。
该第一软件安装包中包括资源文件,这些资源文件与某一参数类型的参数值匹配,从而可以适配于具体的用户设备。
步骤402的具体实现方式包括但不限于资源处理设备从其它设备下载第一软件安装包,资源处理设备从其包括的存储模块读取该第一软件安装包等。
步骤403:资源处理设备根据预设的对应关系,确定与目标参数值对应的目录标识信息。
其中,对应关系为目标参数值和目录标识信息的对应关系,该目录标识信息用于标识资源目录。
在资源处理设备上预存有对应关系,资源处理设备在获取到目标参数值后,根据该对应关系,可以确定出与该目标参数值对应的目录标识信息。
在第一软件安装包中包括资源目录,资源文件保存在资源目录下。通过资源目录,可以方便管理软件安装包中的资源文件。确定了一资源目录,即可确定出该资源目录包括的资源文件。
目录标识信息用于标识资源目录,从而可以根据该目标标识确定出被其标识的资源目录。
可以理解,在本发明的一些实施例中,该对应关系还可以是目标参数类型和目录标识信息的对应关系,从而资源处理设备根据预设的对应关系,确定与目标参数类型对应的目录标识信息。例如,在资源处理设备预设获取的是目标资源类型的目标参数值时,资源处理设备预设使用目标参数类型和目录标识信息的对应关系。
步骤404:资源处理设备在第一软件安装包的资源目录中确定由目录标识信息标识的目标资源目录。
第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,目标资源目录包括的资源文件匹配目标参数类型的参数值。
资源处理设备在获取到目录标识信息后,即可通过该目录标识信息在第一软件安装包的资源目录中进行查询,查找出由该目标标识标识的目标资源目录。在本发明实施中,通过预先设定,使得被对应关系中的目录标识信息标识的目标资源目录包括的资源文件匹配目标参数类型的参数值。
这样,资源处理设备即可从第一软件安装包中查找出匹配目标参数类型的参数值的资源文件集合。
步骤405:资源处理设备判断在目标资源目录中是否包括至少两份资源文件。若在目标资源目录中包括该至少两份资源文件,则执行步骤406。
其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,且该至少两份资源文件中的不同资源文件包括相同的资源内容。
关于资源文件和目标参数类型的参数值的关系、资源内容等内容可参考步骤405的详细描述。
资源处理设备判断在目标资源目录中是否包括符合上述要求的至少两份资源文件,即判断在目标资源目录中是否包括多份匹配目标参数类型的不同参数值且资源内容相同的资源文件。
若在目标资源目录中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容,则表示该至少两份资源文件包括多余的资源文件,可以删除其中的部分资源文件,而保留其中的部分资源文件。
若在目标资源目录中未包括该至少两份资源文件,表示在目标资源目录中并不存在多份匹配目标参数类型的不同参数值且资源内容相同的资源文件,第一软件安装包在匹配该目标参数类型的参数值的资源文件中,并不具有冗余资源文件,从而资源处理设备可以不进行后续的优化处理。
通过先确定出目标资源目录,然后在该目标资源目录中判断是否有多余的资源文件,可减少检查多余资源文件的范围,从而提高执行效率。
步骤405的具体实现方式例如可以为:
在目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配目标参数类型的不同参数值时,资源处理设备判断是否存在相同名称的资源文件分别位于不同的目标资源目录中;若存在,则资源处理设备执行步骤406,步骤406的至少两份资源文件为此处的相同名称的资源文件。
其中,在目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配目标参数类型的不同参数值时,若相同名称的资源文件分别位于不同的目标资源目录中,则这相同名称的资源文件符合有多余资源文件的条件,即:相同名称的资源文件的数量为至少两份、相同名称的资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,相同名称的资源文件中的不同资源文件包括相同的资源内容。
步骤403至步骤405为步骤303的具体实现方式之一。
步骤406:资源处理设备判断在该至少两份资源文件中,是否存在资源文件匹配的参数值和目标参数值一致;若存在,则执行步骤407,否则,执行步骤408。
资源文件匹配的参数值为目标参数类型的参数值。步骤405判断出在目标资源目录中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容,该判断出的至少两份资源文件包括多余的资源文件,从而可对其进行精简。
资源处理设备判断在该至少两份资源文件中,是否存在资源文件匹配的参数值和目标参数值一致。若该至少两份资源文件中,存在资源文件匹配的参数值和目标参数值一致,则表示在该至少两份资源文件中有适配使用目标参数值的用户设备的资源文件,资源处理设备可以保留该资源文件。若该至少两份资源文件中,未存在资源文件匹配的参数值和目标参数值一致,则表示该至少两份资源文件中,没有适配使用目标参数值的用户设备的资源文件。
步骤407:资源处理设备从至少两份资源文件中,确定匹配的参数值和目标参数值一致的目标资源文件。
当在至少两份资源文件中,存在资源文件匹配的参数值和目标参数值一致时,则资源处理设备确定出目标资源文件,该目标资源文件匹配的参数值和目标参数值一致。该目标资源文件为需要保留的资源文件。
步骤408:资源处理设备从至少两份资源文件中,根据预设规则确定目标资源文件。
其中,预设规则包括目标参数值和目标参数类型的预设参数值的关系规则,根据预设规则确定的目标资源文件匹配该预设参数值。目标参数值和目标参数类型的预设参数值的关系规则,可以为目标参数值和预设参数值相互对应,也可以是目标参数值和预设参数值有预设的大小差值关系等等。
当在至少两份资源文件中,未存在资源文件匹配的参数值和目标参数值一致时,表示该至少两份资源文件中,没有适配使用目标参数值的用户设备的资源文件,但是并不能因此把这至少两份资源文件都删除,不然,可能导致安装该第一软件安装包的设备没有可使用的匹配目标参数类型的参数值的资源文件。为此,资源处理设备从至少两份资源文件中,根据预设规则确定目标资源文件,该目标资源文件匹配的参数值虽然和目标参数值不一致,但在第一软件安装包中,需要保留该目标资源文件。
其中,预设规则有多种,本发明实施例对此不作具体限定。例如:
1)在目标参数类型为屏幕密度时,该预设规则可如下述的图5所示实施例的步骤508至步骤510所示。
2)在目标参数类型为用户设备使用的语言时,该预设规则为根据不同的具体语言的对应关系确定出于目标参数值对应的预设语言,保留匹配该预设语言的资源文件作为目标资源文件。例如,目标参数值为简体中文,对应关系为简体中文和繁体中文的对应关系,在在步骤404的该至少两份资源文件中若不存在匹配简体中文的资源文件,但存在繁体中文的资源文件,从而根据该简体中文和繁体中文的对应关系,资源处理设备从该至少两份资源文件中确定出匹配繁体中文的资源文件。
步骤406至步骤408为步骤304的具体实现方式之一。
步骤409:资源处理设备将目标资源文件转化为匹配目标参数值的资源文件。
资源处理设备从至少两份资源文件中,根据预设规则确定目标资源文件之后,因目标资源文件匹配的参数值和目标参数值不一致,在有的实施例中,资源处理设备可以将目标资源文件转化为匹配目标参数值的资源文件,例如在目标参数类型为屏幕密度时,资源处理设备可以缩小或放大目标资源文件,使得目标资源文件转化为匹配目标参数值的资源文件。或在,目标参数类型为用户设备使用的语言,目标参数值为简体中文,目标资源文件匹配繁体中文,此时,资源处理设备可以将目标资源文件转化为匹配简体中文的资源文件,若资源处理设备具有翻译程序或者能与翻译网站联网,这是可以实现的。
这样,因目标资源文件需要保留在软件安装包中,通过将目标资源文件转化为匹配目标参数值的资源文件,可以使得软件安装包中的目标资源文件更适于安装在使用目标参数值的用户设备。
可以理解,步骤409在本发明实施例中为可选的步骤。
步骤410:资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包。
其中,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
目标资源文件为需要在第一软件安装包中保留的资源文件,该至少两份资源文件中除了目标资源文件之外的资源文件可以删除。从而,确定了目标资源文件,该至少两份资源文件中剩下的非目标资源文件即可进行删除。在第一软件安装包中删除了该非目标资源文件后,得到的软件安装包可称之为第二软件安装包。因第二软件安装包未包括非目标资源文件,从而相对于第一软件安装包来说,第二软件安装包的空间大小得到了减少,而第二软件安装包中包括目标资源文件,目标资源文件和非目标资源文件都匹配目标参数类型的参数值,从而在具体的用户设备上安装该第二软件安装包时,该用户设备若使用了目标参数类型的一参数值,例如使用了目标参数值,该用户设备即可使用第二软件安装包的目标资源文件。
综上所述,在资源处理设备获取目标参数值和第一软件安装包后,资源处理设备可判断该第一软件安装包是否有多余的资源文件。当在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,以及该至少两份资源文件中的不同资源文件包括相同的资源内容时,表示该第一软件安装包中的该至少两份资源文件包括冗余的资源文件,为此,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为需要保留的资源文件,然后,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。该非目标资源文件为不必要的资源文件。这样,因非目标资源文件的删除,第二软件安装包相对于第一软件安装包的空间大小得到了减小,方便了对第二软件安装包进行传输和存储等操作,因第二软件安装包保留了目标资源文件,在该至少两份资源文件中的不同资源文件包括相同的资源内容,从而第二软件安装包并没出现资源内容的缺失,尤其是因资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,目标资源文件和目标参数值相关,从而在使用目标参数值的用户设备上,可使用该目标资源文件,这保证了该第二软件安装包在该用户设备上能成功安装或不影响用户在该用户设备上使用该第二软件安装包。
上述实施例有提到本发明实施例的资源处理方法中的目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。为了更直观地描述本发明实施例的资源处理方法,下文提供的图5所示的实施例将对本发明实施例的方法进行示例性的说明,在该示例性说明中,目标参数类型为屏幕密度、目标参数值为hdpi、匹配屏幕密度的参数值的资源文件为图片文件。
参阅图5,以及参考上述各实施例的内容,本发明实施例的资源处理方法包括:
步骤501:资源处理设备获取目标参数值hdpi。
hdpi为屏幕密度的一参数值。
如上文所述,屏幕密度包括多种参数值,例如ldpi、mdpi、tdpi、hdpi、xhdpi、xxhdpi等,目标参数值为该多种参数值中的一种。
例如,资源处理设备为用户设备时,用户设备读取其屏幕使用的屏幕密度的参数值,得到hdpi。
因用户设备的屏幕为一具体的屏幕,该屏幕只会使用屏幕密度的一具体参数值,例如,使用的屏幕密度为hdpi。
步骤502:资源处理设备获取软件安装包。
软件安装包中包括资源文件,资源文件包括多种类型,例如资源文件可以为图片文件等,本发明实施例关注软件安装包中的图片文件。
例如,用户设备获取服务器发送的软件安装包,或者用户设备读取本地预存的软件安装包。
步骤503:资源处理设备根据预设的对应关系,确定与目标参数值hdpi对应的目录标识信息。
其中,对应关系为hdpi和目录标识信息的对应关系。资源处理设备获取到目标参数值hdpi后,即可根据该对应关系获取到与hdpi对应的目标标识。
该目录标识信息用于标识资源目录,从而可以根据该目标标识确定出被其标识的资源目录。
目录标识信息的具体示例有多种,例如可以为资源目录名称、特定的标识等。在本发明实施例中该目标标识标识的目标资源目录为包括图片文件的资源目录。这些资源目录的特点是包括屏幕密度标识符,但有的也可能不带有屏幕密度标识符,故而该目录标识信息为屏幕密度标识符和图片类型资源名,屏幕密度标识符例如为ldpi,mdpi,hdpi,xhdpi,xxdpi,xxxdpi等;图片类型资源名例如可以为drawable。
步骤504:资源处理设备在软件安装包的资源目录中确定由该目录标识信息标识的目标资源目录。
在软件安装包中包括资源目录,软件安装包的资源文件即保存在资源目录下,即软件安装包中的资源目录包括资源文件。在软件安装包中,资源目录的数量可以为多个,其中,位于同一资源目录的资源文件匹配同一参数类型的同一参数值。目标资源目录包括的图片文件匹配屏幕密度的参数值。
安装软件安装包的用户设备有多种的硬件配置,或者有多种的软件规格设置,为了适配用户设备的多样的使用需求,在软件安装包中包括多种类型的资源文件,例如,为了适配用户设备使用的屏幕密度,软件安装包需要包括匹配屏幕密度的参数值的图片文件,为了适配用户设备的使用的语言,软件安装包需要包括匹配具体语言的文本文件。
在软件安装包中通过资源目录对资源文件进行管理,位于同一资源目录的资源文件匹配同一参数类型的同一参数值。例如,如图1所示,图1示出了软件安装包中的三个资源目录drawable-hdpi、drawable-ldpi和drawable-mdpi。在每一资源目录下保存有图片文件,例如在资源目录drawable-hdpi下保存有图片文件icon.png。该资源目录drawable-hdpi下保存的图片文件都为匹配hdpi的图片文件,图片文件icon.png匹配hdpi,即该图片文件icon.png适配使用hdpi的屏幕。
资源处理设备为了在软件安装包的资源目录中确定由该目录标识信息标识的目标资源目录,资源处理设备的处理模块可先对软件安装包进行反编译,获取软件安装包中的资源文件。然后,使用确定的目录标识信息遍历软件安装包中跟屏幕密度相关的所有的资源文件。具体来说,即使用为屏幕密度标识符和图片类型资源名的目录标识信息从而软件安装包中的资源目录中确定目标资源目录,该目标资源目录的名称中携带有该屏幕密度标识或者该目标资源目录的名称为该图片类型资源名。例如,在android系统中,查找到的目标资料目录包括带ldpi,mdpi,hdpi,xhdpi,xxdpi,xxxdpi标识符的所有资源目录,以及不带标识符的属于图片资源类型的资源目录,该不带标识符的属于图片资源类型的资源目录的名称例如可以为drawable。例如,在Android系统中存放图片资源的资源目录可以包括:drawable,drawable-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi,drawable-xxdpi,drawable-xxxdpi等。这些资源目录下保存有图片文件。
步骤505:资源处理设备判断是否存在相同名称的图片文件分别位于不同的目标资源目录中;若存在,则资源处理设备执行步骤506。
若获取到的目标资源目录的数量为至少两份,因位于不同的目标资源目录的资源文件分别匹配屏幕密度的不同参数值,从而不同的目标资源目录中若包括相同名称的图片文件,则这些相同名称的图片文件包括多余的图片文件。
如上所述,位于同一资源目录的资源文件匹配同一参数类型的同一参数值。例如,如图1所示,在资源目录drawable-hdpi、drawable-ldpi和drawable-mdpi中,都包括一相同名称的图片文件icon.png,在不同的资源目录中,该图片文件icon.png分别匹配屏幕密度的不同参数值,例如,在资源目录drawable-hdpi下的图片文件icon.png匹配屏幕密度hdpi,在资源目录drawable-ldpi下的图片文件icon.png匹配屏幕密度ldpi,在资源目录drawable-mdpi下的图片文件icon.png匹配屏幕密度mdpi。在不同资源目录下的图片文件icon.png包括的画面内容相同,只是,在不同的用户设备上只需使用其中之一的图片文件进行显示,例如在使用的屏幕密度为hdpi的用户设备上,在安装包括图1所示的资源目录的软件安装包时,该用户设备只需使用资源目录drawable-hdpi下的图片文件icon.png,至于资源目录drawable-ldpi下的图片文件icon.png和资源目录drawable-mdpi下的图片文件icon.png该用户设备无需使用,这样的情况虽然方便了快速为用户设备提供适配规格的图片文件,但也使得该软件安装包对于该用户设备来说包括多余的图片文件,从而带来不利的影响,例如该软件安装包占用了用户设备过多的存储资源等。
根据上述的说明可知,资源处理设备判断是否存在相同名称的图片文件分别位于不同的目标资源目录中,即表示资源处理设备在执行判断该软件安装包是否包括多余的图片文件的操作。
在具体的实现过程中,资源处理设备在软件安装包的资源目录中确定由该目录标识信息标识的目标资源目录后,资源处理设备的处理模块可以确定出目标资源目录下的图片文件,然后资源处理设备使用其上的存储模块中存储该处理模块输出的所有图片文件或者保存图片文件的资源目录,得到的资源的信息结构如表4所示。这样,在步骤505中,资源处理设备的处理模块可以在输出的资源信息中,查找在图片资源类型的资源目录下,是否有同名的图片文件。
表4
资源处理设备判断是否存在相同名称的图片文件分别位于不同的目标资源目录中。
若存在相同名称的图片文件分别位于不同的目标资源目录中,则表示该软件安装包中的相同名称的图片文件包括多余的图片文件,需要对这些相同名称的图片文件进行精简,从而资源处理设备执行下文的优化步骤。
若不存在相同名称的图片文件分别位于不同的目标资源目录中,则表示该软件安装包中的图片文件不包括多余的图片文件,从而资源处理设备可停止执行本发明实施例的资源处理方法。
步骤506:资源处理设备判断在相同名称的图片文件中,是否存在图片文件匹配的参数值和hdpi一致;若存在,则执行步骤507,否则,执行步骤508。
当存在相同名称的图片文件分别位于不同的目标资源目录中时,这些相同名称的图片文件包括多余的图片文件,资源处理设备需要在这些同名称的图片文件分辨出哪些图片文件需要保留,哪些图片文件需要删除。
首先,资源处理设备确定需要保留的图片文件,为此,资源处理设备判断在相同名称的图片文件中,是否存在图片文件匹配的参数值和目标参数值一致。
匹配的参数值和hdpi一致的图片文件,即为匹配hdpi的图片文件,该图片文件适配于使用hdpi的用户设备。
步骤507:资源处理设备从相同名称的图片文件中,确定匹配的参数值和hdpi一致的目标图片文件。
当在相同名称的图片文件中,存在图片文件匹配的参数值和hdpi一致时,资源处理设备可以在相同名称的图片文件中确定出目标图片文件,该目标图片文件为匹配hdpi的图片文件,该图片文件适配于使用hdpi的用户设备。从而,可以在软件安装包上保留该图片文件。
步骤508:资源处理设备判断在相同名称的图片文件中,是否存在图片文件匹配的参数值大于hdpi;若在相同名称的图片文件中,存在图片文件匹配的参数值大于hdpi,则执行步骤509;若在相同名称的图片文件中,未存在图片文件匹配的参数值大于hdpi,则执行步骤510。
当在相同名称的图片文件中,未存在图片文件匹配的参数值和hdpi一致时,资源处理设备若把这些相同名称的图片文件都删除了,该软件安装包就不能向用户设备提供这些图片文件,从而影响软件安装包的正常安装和使用。为此,资源处理设备可以根据预设规则确定目标资源文件。在本发明实施例中,该预设规则可以为步骤508、509和510所示的规则。
具体来说,资源处理设备判断在相同名称的图片文件中,是否存在图片文件匹配的参数值大于hdpi。对匹配的参数值大于hdpi的图片文件进行缩小,缩小到匹配hdpi,得到缩小后的图片文件,该缩小后的图片文件失真交小,从而在使用hdpi的用户设备上,若为其提供该缩小后的图片文件,该图片文件仍可清晰显示,从而对用户的使用体验影响较小。
这样,若在相同名称的图片文件中,存在图片文件匹配的参数值大于hdpi,则在这些匹配的参数值大于hdpi的图片文件中确定目标图片文件;若在相同名称的图片文件中,未存在图片文件匹配的参数值大于hdpi,则通过其它方式从这些图片文件中确定出目标图片文件。
步骤509:资源处理设备从匹配的参数值大于hdpi的图片文件中,确定匹配的参数值最小的目标图片文件。
当在相同名称的图片文件中,存在图片文件匹配的参数值大于hdpi时,资源处理设备从匹配的参数值大于hdpi的图片文件中,确定匹配的参数值最小的目标图片文件。该目标图片文件为需要保留的图片文件,该目标图片文件匹配的屏幕密度的参数值因大于hdpi,通过将其进行缩小处理,以适配hdpi的规格,对该图片文件的失真影响较小。
步骤510:资源处理设备从相同名称的图片文件中,确定匹配的参数值最大的目标图片文件。
当在相同名称的图片文件中,未存在图片文件匹配的参数值大于hdpi,则资源处理设备在相同名称的图片文件中,确定匹配的参数值最大的目标图片文件。此时,该目标图片文件在这些相同名称的图片文件中与匹配hdpi的规格最接近,在使用hdpi的用户设备上提供该目标图片文件,可以最大限度地保证显示图片时的清晰度。
通过步骤506至步骤509的执行,资源处理设备在相同名称的图片文件中确定出目标图片文件,该目标图片文件为需要保留的图片文件。可以理解的是,在不同的条件下,该目标图片文件为不同的具体图片文件。
步骤511:资源处理设备将目标图片文件转化为匹配hdpi的资图片文件。
如上所述,目标图片文件为需要保留的图片文件,但在步骤509或步骤510中,确定的目标图片文件并不匹配目标参数值hdpi,只是在该相同名称的图片文件中于hdpi的规格最相关,为此,资源处理设备需要对步骤509或步骤510确定出的目标图片文件进行处理,以适配与hdpi的规格。
在具体的实现过程中,资源处理设备可以在步骤509或者步骤510之后,直接将确定的目标图片转化为匹配hdpi的资图片文件。或者是,在步骤506至步骤509之后,资源处理设备的处理模块判断确定出的目标图片文件是否和hdpi一致,若不一致,则资源处理设备将目标图片文件转化为匹配hdpi的资图片文件。
步骤511的具体实现方式可以为资源处理设备过调用屏幕密度的适配算法,使目标图片文件转化为匹配hdpi的图片文件。
例如:对于android apk软件安装包来说,在步骤501获取的目标参数值是xhdpi时,在步骤509中确定出目标图片文件位于携带有xxhdpi标识符的目标资源目录下,即该目标图片文件适配于xxhdpi。为此,资源处理设备将该目标图片文件进行缩小,根据对应关系:ldpi:mdpi:hdpi:xhdpi:xxhdpi=0.75:1:1.5:2:3,缩小比例值是2/3,从而得到缩小后的目标图片文件,为了在用户设备上对该软件安装包进行成功安装,后续可以将该缩小后的目标图片文件存放到带xhdpi标识符的资源目录下,并删除xxhpi目录。
步骤512:资源处理设备删除软件安装包中的非目标图片文件,得到优化后的软件安装包。
其中,非目标图片文件为该相同名称的图片文件中除了目标图片文件之外的图片文件。
资源处理设备在确定了目标图片文件后,该目标图片文件为需要保留的图片文件,因在上述的相同名称的图片文件中,图片文件的画面内容相同,保留其中的目标图片文件即保留这些相同名称的图片文件记录的画面内存,这些相同名称的图片文件中除了目标图片文件之外的图片文件(即非目标图片文件)为多余的图片文件,从而可删除这些非目标图片文件,达到减少软件安装包的空间大小的目的。得到的优化后的软件安装包相对于步骤502的软件安装包来说,因非目标图片文件的删除,该优化后的软件安装包的空间大小得到了减小。
通过上述步骤的执行,该优化后的软件安装包包括目标图片文件,该目标图片文件为匹配hdpi的图片文件,或者通过转化后为匹配hdpi的图片文件。从而,在用户设备上安装该优化后的软件安装包时,若该用户设备的屏幕为hdpi的规格,该用户设备可以使用该目标图片文件,这样不但保证了用户设备有目标图片文件可以使用,还保证了目标图片文件在该用户设备上的清晰显示。
关于优化后的软件安装包相对于原来的软件安装包少了非目标图片文件,在前述步骤中为了获取步骤502的软件安装包的图片文件,需要对该软件安装包进行反编译,从而在步骤512的具体实现过程中,可以资源处理设备删除软件安装包中的非目标图片文件后,对该软件安装包进行二次编译,得到优化后的软件安装包。这样,在用户设备上可以直接使用该优化后的软件安装包进行安装。
可以理解,在本发明有的实施例中,如果要达到更好的优化效果,即进一步减少软件安装包的多余资源文件,可以在步骤512之前,资源处理设备的处理模块可以调用预设优化方法,对确定出的目标图片文件进行二次优化处理,得到优化后的目标图片文件,该预存优化方法为减少图片文件的大小的方法。该预设优化方法可以为根据待安装该软件安装包的用户设备的配置,删除无用的资源,比如:对图片文件进行压缩,将非alpha格式的图片文件转为jpg格式的图片文件、利用AndResGuard对资源文件进行混淆等。
本发明实施例的资源处理设备可以为用户设备、也可以为服务器或者其它的设备,在不同的设备中执行本发明实施例提供资源处理方法时,可以对本发明实施例的资源处理方法进行扩展。
下文将以资源处理设备为服务器和用户设备为例分别对本发明实施例的资源处理方法分别进行描述。
图6为本发明实施例提供的一种资源处理方法的方法流程图,该方法应用于服务器上,该服务器为应用市场服务器,资源处理设备为应用市场服务器;
该方法可基于上述的图3、图4和图5所示实施例的方法实现。
参阅图6,以及上述各实施例的内容,本发明实施例的资源处理方法包括:
步骤601:应用市场服务器获取用户设备发送的目标参数值。
其中,目标参数值为用户设备使用的参数值,目标参数值为目标参数类型的参数值。即目标参数值为用户设备使用的目标参数类型的一参数值。
例如,用户使用用户设备通过用户设备的网络接口向应用市场服务器发起软件安装包的下载请求,该下载请求包括用户设备的目标参数值,或者,应用市场服务器在获取到用户设备发送的下载请求后,向用户设备发送参数获取指令,获取到该参数获取指令后,用户设备读取其使用的目标参数值,并向服务器发送该目标参数值。
步骤602:应用市场服务器获取第一软件安装包。
为了向用户设备提供软件安装包,应用市场服务器先获取一第一软件安装包,应用市场服务器可以通过应用市场服务器本地的存储单元获取预存的第一软件安装包。
在本发明实施例中,为了向用户设备提供其需要的软件安装包,应用市场服务器可以从用户设备获取安装包标识信息,该安装包标识信息用于标识软件安装包,从而用户设备可以从存储单元获取被该安装包标识信息标识的第一软件安装包。
在本发明有的实施例中,为了在存储模块上存储有软件安装包,应用市场服务器可以提前获取软件安装包并对其进行存储。例如,本发明有的实施例中,在步骤602之前,本发明实施例的资源处理方法还包括如下步骤:
步骤A1:软件开发者通过应用市场服务器的网络接口向应用市场服务器上传软件安装包;
步骤A2,软件开发者通过应用市场服务器的网络接口设置配置信息,该配置信息用于表示是否允许应用市场服务器对该软件安装包进行资源优化,该资源优化指删除该软件安装包的资源文件以减小该软件安装包的空间。
步骤A3,应用市场服务器的存储模块将软件安装包和其配置信息进行存储。
从而,在步骤602中,应用市场服务器可以从其存储模块上获取预存的软件安装包。此时,因该软件安装包设置有配置信息,应用市场服务器在获取该软件安装包时还获取该软件安装包的配置信息。应用市场服务器读取该配置信息,若该配置信息表示可以对该软件安装包进行资源优化,则应用市场服务器执行本发明实施例的下述步骤,若该配置信息表示软件开发者不允许对该软件安装包进行资源优化,则应用市场服务器不执行本实施例的下述步骤,应用市场服务器直接将该软件安装包发送给用户设备。
步骤603:应用市场服务器判断在第一软件安装包中是否包括至少两份资源文件;若在第一软件安装包中包括该至少两份资源文件则执行步骤604。
其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。
步骤603的具体内容可参考步骤303的详细描述,或者参考步骤403至步骤405的详细描述,或者参考步骤503至步骤505的详细描述。
步骤604:应用市场服务器根据目标参数值从该至少两份资源文件中确定目标资源文件。
步骤604的具体内容可参考步骤304的详细描述,或者参考步骤406至步骤408的详细描述、或者参考步骤506至步骤510的详细描述。
步骤605:应用市场服务器删除第一软件安装包中的非目标资源文件,得到第二软件安装包。
非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
步骤605的具体内容可参考步骤305的详细描述,或者参考步骤410的详细描述,或者参考步骤512的详细描述。
步骤603至步骤605为应用市场服务器对第一软件安装包进行资源优化的主要步骤,这些步骤为应用市场服务器的处理模块根据用户设备的参数值,对第一软件安装包进行优化的步骤。
步骤606:应用市场服务器为第二软件安装包配置优化标志信息。
其中,优化标识信息包括目标参数值。
应用市场服务器删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,为了标识该第二软件安装包以经过优化处理,应用市场服务器可以生成优化标志信息,将该优化标志信息分配该第二软件安装包。优化标志信息包括目标参数值,该优化标识信息标识该第二软件安装包已经过基于目标参数值的优化处理,即基于目标参数值删除过第二软件安装包的多余资源文件。该目标参数值例如可以屏幕密度的参数值,例如hdpi。
步骤607:应用市场服务器缓存配置有优化标志信息的第二软件安装包。
应用市场服务器调用存储模块,在存储模块上缓存配置有优化标志信息的第二软件安装包。该缓存的第二软件安装包用于在预设发送条件下由应用市场服务器发送给目标用户设备,预设发送条件为优化标志信息的目标参数值和目标用户设备向应用市场服务器发送的参数值一致。
例如,若在步骤602之前,应用市场服务器即已执行过步骤606和步骤607,则应用市场服务器在执行步骤602时,若根据用户设备发送的安装包标识信息在存储模块查询到有缓存的软件安装包,例如即为该配置有优化标志信息的第二软件安装包。若步骤601中获取的目标参数值,和该第二软件安装包配置的优化标识信息包括的参数值一致,则表示该第二软件安装包已基于该目标参数值进行过优化,应用市场服务器可以直接向用户设备发送该第二软件安装包,而无需执行步骤603至步骤605的资源优化步骤,通过提供优化后的软件安装包的缓存机制,保证了可以更快地下载软件安装包,从而可提高向用户设备提供软件安装包的效率。
可以理解,在本发明有的实施例中,可以不包括步骤606和步骤607。
步骤608:应用市场服务器向用户设备发送第二软件安装包。
第二软件安装包用于在用户设备上进行安装。
资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,因该第二软件安装包已经过了基于目标参数值的资源优化,在第二软件安装包中删除了与目标参数值相关性小的非目标资源文件,而保留了与目标参数值相关的目标资源文件,而该目标参数值为用户设备上使用的参数值,从而应用市场服务器可以向该用户设备提供该第二软件安装包,以供用户设备使用,例如应用市场服务器调用网络接口开始将第二软件安装包提供给用户设备。
该用户设备可以使用该目标资源文件。因进过上述步骤的资源优化,应用市场服务器从第一软件安装包中删除了非目标资源文件,从而第二软件安装包的空间大小小于第一软件安装包,从而传输或存储该第二软件安装包时,可以节约传输资源或者存储资源。
可以理解,在本发明有的实施例中,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,本发明实施例的方法还包括:应用市场服务器为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值。即执行步骤606。此时,步骤608具体包括:应用市场服务器向用户设备发送配置有优化标志信息的第二软件安装包。配置有优化标志信息的第二软件安装包用于在预设安装条件下在用户设备上进行安装,预设安装条件为优化标志信息的目标参数值和用户设备使用的目标参数类型的参数值一致。
这样,如果用户是从应用市场服务器下载到该配置有优化标识信息的第二软件安装包时,在下述的图7所示的实施例中,用户设备检测到该优化标识包括的目标参数值和用户设备使用的参数值一致时,用户设备可以直接安装该第二软件安装包。
在本发明实施例中,软件安装包的优化时机是在从应用市场服务器下载软件安装包之前,这样不影响任何软件安装包的开发。
根据用户设备使用的目标参数值,保留了软件安装包中符合用户设备的该目标参数值的资源文件,删除多余的资源文件,从而减小了软件安装包的空间大小,这可以减少下载软件安装包消耗的网络流量,提高了软件安装包的下载速度,减少存储软件安装包消耗的存储空间,优化后的软件安装包运行速度也会更快捷。
上述图6所示的实施例以资源处理设备为应用市场服务器为示例进行了说明,下述图7所示的实施例以资源处理设备为用户设备为示例,对本发明实施例的资源处理方法进行说明。图7所示的实施例可以为基于图3、图4或图5所示的实施例实现得到。
参阅图7,以及参考上述各实施例描述的内容,本发明实施例的资源处理方法包括:
步骤701:用户设备获取目标参数值。
目标参数值为目标参数类型的参数值,目标参数值为用户设备使用的参数值。
例如,用户设备减少到在该用户设备上正要进行软件安装包的安装,则用户设备暂停该软件安装包的安装,然后,用户设备获取用户设备使用的目标参数值,例如获取用户设备使用的屏幕密度的参数值。
例如,智能手机都提供了接口,通过该接口可以获取设备的屏幕密度。从而进行软件安装包安装时,该智能手机可以获取到屏幕密度。
步骤702:用户设备获取第一软件安装包。
用户设备为了使用软件安装包,先需获取软件安装包。
该第一软件安装包的获取可以通过从应用市场服务器下载得到;或者,用户通过个人计算机等设备向用户设备传输该第一软件安装包;或者,用户设备从本地的存储模块读取缓存的第一软件安装包。
步骤703:用户设备判断在第一软件安装包中是否包括至少两份资源文件,若在第一软件安装包中包括该至少两份资源文件,则执行步骤704。
其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。
步骤703的具体内容可参考步骤303的详细描述,或者参考步骤403至步骤405的详细描述,或者参考步骤503至步骤505的详细描述。
步骤704:用户设备根据目标参数值从至少两份资源文件中确定目标资源文件;
步骤704的具体内容可参考步骤304的详细描述,或者参考步骤406至步骤408的详细描述、或者参考步骤506至步骤510的详细描述。
步骤705:用户设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包。
非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
步骤705的具体内容可参考步骤305的详细描述,或者参考步骤410的详细描述,或者参考步骤512的详细描述。
步骤703至步骤705为用户设备基于该用户设备使用的目标参数值对第一软件安装包进行资源优化的主要步骤。
步骤706:用户设备安装第二软件安装包。
用户设备得到第二软件安装包后,可以使用该第二软件安装包进行安装操作。因该第二软件安装包包括目标资源文件,从而用户设备可以使用该目标资源文件。
例如,该目标资源文件为匹配hdpi的图片文件,用户设备的屏幕使用的参数值为hdpi,从而用户设备可以清晰地显示该匹配hdpi的图片文件。
可以理解,在本发明有的实施例中用户设备也可以在得到第二软件安装包后存储该第二软件安装包。
因根据用户设备使用的目标参数值,保留了软件安装包中符合用户设备的该目标参数值的资源文件,删除多余的资源文件,从而第二软件安装包的空间大小相对于第一软件安装包得到了减少,用户设备在存储或传输该第二软件安装包时,可以减少存储资源和传输资源的使用,优化后的软件安装包运行速度也会更快捷。
图8为本发明实施例提供的一种资源处理设备的结构示意图,该资源处理设备可以用于执行上述各实施例的资源处理方法。
参阅图8,本发明实施例的资源处理设备包括:
获取单元801,用于获取目标参数值,目标参数值为目标参数类型的参数值,目标参数类型为安装软件安装包的设备上配置的参数类型;
获取单元801,还用于获取第一软件安装包;
判断单元802,用于判断在第一软件安装包中是否包括至少两份资源文件,至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,至少两份资源文件中的不同资源文件包括相同的资源内容;
确定单元803,用于若在第一软件安装包中包括至少两份资源文件,则根据目标参数值从至少两份资源文件中确定目标资源文件;
删除单元804,用于删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
可选地,
确定单元803,包括第一判断模块805和第一确定模块806;
第一判断模块805,用于判断在至少两份资源文件中,是否存在资源文件匹配的参数值和目标参数值一致;
若存在,则第一确定模块806,用于从至少两份资源文件中,确定匹配的参数值和目标参数值一致的目标资源文件;
否则,第一确定模块806,还用于从至少两份资源文件中,根据预设规则确定目标资源文件,预设规则包括目标参数值和目标参数类型的预设参数值的关系规则,该根据预设规则确定的目标资源文件匹配预设参数值。
可选地,
资源处理设备还包括;
转化单元807,用于将目标资源文件转化为匹配目标参数值的资源文件。
可选地,
判断单元802,包括:
标识确定模块808,用于根据预设的对应关系,确定与目标参数值对应的目录标识信息,对应关系为目标参数值和目录标识信息的对应关系,目录标识信息用于标识资源目录;
目录确定模块809,用于在第一软件安装包的资源目录中确定由目录标识信息标识的目标资源目录,第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,目标资源目录包括的资源文件匹配目标参数类型的参数值;
判断模块810,用于判断在目标资源目录中是否包括至少两份资源文件。
可选地,
目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配目标参数类型的不同参数值;
判断模块810,还用于判断是否存在相同名称的资源文件分别位于不同的目标资源目录中;
若存在,则确定单元803执行根据目标参数值从至少两份资源文件中确定目标资源文件的步骤,至少两份资源文件为相同名称的资源文件。
可选地,
目标参数类型为屏幕密度,相同名称的资源文件为相同名称的图片文件;
确定单元803,包括第二判断模块811和第二确定模块812;
第二判断模块811,用于判断在相同名称的图片文件中,是否存在图片文件匹配的参数值和目标参数值一致;
若存在,则第二确定模块812,用于从相同名称的图片文件中,确定匹配的参数值和目标参数值一致的图片文件;
否则,第二判断模块811,用于判断在相同名称的图片文件中,是否存在图片文件匹配的参数值大于目标参数值;
第二确定模块812,还用于若在相同名称的图片文件中,存在图片文件匹配的参数值大于目标参数值,则从匹配的参数值大于目标参数值的图片文件中,确定匹配的参数值最小的图片文件;
第二确定模块812,还用于若在相同名称的图片文件中,未存在图片文件匹配的参数值大于目标参数值,则从相同名称的图片文件中,确定匹配的参数值最大的图片文件。
可选地,
资源处理设备为服务器;
资源处理设备还包括发送单元813;
获取单元801还用于获取用户设备发送的目标参数值,目标参数值为用户设备使用的参数值;
发送单元813,用于向用户设备发送第二软件安装包,第二软件安装包用于在用户设备上进行安装。
可选地,
资源处理设备还包括:
配置单元814,用于为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值;
缓存单元815,用于缓存配置有优化标志信息的第二软件安装包,缓存的第二软件安装包用于在预设发送条件下由服务器发送给目标用户设备,预设发送条件为优化标志信息的目标参数值和目标用户设备向服务器发送的参数值一致。
可选地,
资源处理设备还包括:
配置单元814,用于为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值;
发送单元813,还用于向用户设备发送配置有优化标志信息的第二软件安装包,配置有优化标志信息的第二软件安装包用于在预设安装条件下在用户设备上进行安装,预设安装条件为优化标志信息的目标参数值和用户设备使用的目标参数类型的参数值一致。
可选地,
资源处理设备为用户设备,目标参数值为用户设备使用的参数值。
可选地,
目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
综上所述,获取单元801获取目标参数值,目标参数值为目标参数类型的参数值;获取单元801获取第一软件安装包。然后,判断单元802判断在第一软件安装包中是否包括至少两份资源文件,其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。若在第一软件安装包中包括前述的至少两份资源文件,则确定单元803根据目标参数值从至少两份资源文件中确定目标资源文件,以及删除单元804删除第一软件安装包中的非目标资源文件,得到第二软件安装包,其中,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
这样,在资源处理设备获取目标参数值和第一软件安装包后,资源处理设备可判断该第一软件安装包是否有多余的资源文件。当在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,以及该至少两份资源文件中的不同资源文件包括相同的资源内容时,表示该第一软件安装包中的该至少两份资源文件包括冗余的资源文件,为此,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为需要保留的资源文件,然后,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。该非目标资源文件为不必要的资源文件。这样,因非目标资源文件的删除,第二软件安装包相对于第一软件安装包的空间大小得到了减小,方便了对第二软件安装包进行传输和存储等操作,因第二软件安装包保留了目标资源文件,在该至少两份资源文件中的不同资源文件包括相同的资源内容,从而第二软件安装包并没出现资源内容的缺失,尤其是因资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,目标资源文件和目标参数值相关,从而在使用目标参数值的用户设备上,可使用该目标资源文件,这保证了该第二软件安装包在该用户设备上能成功安装或不影响用户在该用户设备上使用该第二软件安装包。
图9为本发明实施例提供的一种资源处理设备的硬件结构示意图,该资源处理设备可以用于执行上述各实施例的资源处理方法,图8所示的资源处理设备可以集成在图9所示的资源处理设备上。
参阅图9,本发明实施例的资源处理设备包括存储器901、处理器902、网络接口903和总线904。
其中,存储器901存储处理器902和其他模块上所需的数据,还用来存储可以被处理器902执行的软件程序。本发明实施例中主要用来存储软件安装包、软件安装包的配置信息,请求安装软件安装包的用户设备的不同参数值,以及执行上述各资源处理方法的执行程序等。
处理器902用于执行不同的功能操作。在本发明实施例中根据获取目标参数值,对软件安装包进行基于该目标参数值的资源优化,以减小该软件安装包的空间大小。
网络接口903可以提供语音或数据的通信能力。可以提供有线或无线的接口,可以是软件和硬件(天线、调制/解调器、编/解码器、模拟/数字处理电路等)的结合。本发明实施例的网络接口903可以用于接收用户或用户设备指令,或者传输优化后的软件安装包。
总线904可在设备的各内部装置之间提供通信能力。如,总线可以使处理器902和存储器901之间通信。总线904还使资源处理设备通过网络接口与网络相连。该网络包括但不限于局域网(LAN)、广域网(WAN)或因特网。
图9所示的资源处理设备在为服务器时,其工作过程可以为:在用户设备请求安装软件安装包时,存储器901存储通过网络接口903获取到的软件安装请求信息和用户设备使用的参数值。处理器902从存储器901获取软件安保包和该参数值,对软件安装包进行基于该参数值的资源优化。然后,网络接口903将优化后的软件安装包传递给用户设备。
当资源处理设备是用户设备时,处理器902得到优化后的软件安装包后,存储器901可以存储优化后的软件安装包到用户设备上。
该资源处理设备实现资源处理方法的具体情况如下:
该网络接口903,具有如下功能:获取目标参数值,目标参数值为目标参数类型的参数值;获取第一软件安装包,其中目标参数类型为安装软件安装包的设备上配置的参数类型;
该处理器902,具有如下功能:判断在第一软件安装包中是否包括至少两份资源文件,至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,至少两份资源文件中的不同资源文件包括相同的资源内容;若在第一软件安装包中包括至少两份资源文件,则资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件;资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
可选的,该处理器902,具体还具有如下功能:
资源处理设备判断在至少两份资源文件中,是否存在资源文件匹配的参数值和目标参数值一致;若存在,则资源处理设备从至少两份资源文件中,确定匹配的参数值和目标参数值一致的目标资源文件;否则,资源处理设备从至少两份资源文件中,根据预设规则确定目标资源文件,该预设规则包括目标参数值和目标参数类型的预设参数值的关系规则,该根据预设规则确定的目标资源文件匹配预设参数值。
可选的,资源处理设备从至少两份资源文件中,根据预设规则确定目标资源文件之后,该处理器902,具体还具有如下功能:将目标资源文件转化为匹配目标参数值的资源文件。
可选的,该处理器902,具体还具有如下功能:
根据预设的对应关系,确定与目标参数值对应的目录标识信息,对应关系为目标参数值和目录标识信息的对应关系,目录标识信息用于标识资源目录;
在第一软件安装包的资源目录中确定由目录标识信息标识的目标资源目录,第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,目标资源目录包括的资源文件匹配目标参数类型的参数值;
判断在目标资源目录中是否包括至少两份资源文件。
可选的,目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配目标参数类型的不同参数值,该处理器具体还具有如下功能:
判断是否存在相同名称的资源文件分别位于不同的目标资源目录中;若存在,则执行根据目标参数值从至少两份资源文件中确定目标资源文件的步骤,至少两份资源文件为相同名称的资源文件。
可选的,目标参数类型为屏幕密度,相同名称的资源文件为相同名称的图片文件,该处理器902具体还具有如下功能:
判断在相同名称的图片文件中,是否存在图片文件匹配的参数值和目标参数值一致;若存在,则从相同名称的图片文件中,确定匹配的参数值和目标参数值一致的图片文件;否则,判断在相同名称的图片文件中,是否存在图片文件匹配的参数值大于目标参数值;
若在相同名称的图片文件中,存在图片文件匹配的参数值大于目标参数值,则从匹配的参数值大于目标参数值的图片文件中,确定匹配的参数值最小的图片文件;
若在相同名称的图片文件中,未存在图片文件匹配的参数值大于目标参数值,则从相同名称的图片文件中,确定匹配的参数值最大的图片文件。
可选的,该资源处理设备为服务器,此时,该网络接口903具体还具有如下功能:
获取用户设备发送的目标参数值,目标参数值为用户设备使用的参数值;资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,向用户设备发送第二软件安装包,第二软件安装包用于在用户设备上进行安装。
可选的,该资源处理设备为服务器时,该处理器902具体还具有如下功能:
删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值;
存储器901具体还具有如下功能:
缓存配置有优化标志信息的第二软件安装包,缓存的第二软件安装包用于在预设发送条件下由服务器发送给目标用户设备,预设发送条件为优化标志信息的目标参数值和目标用户设备向服务器发送的参数值一致。
可选的,该资源处理设备为服务器时,该处理器902具体还具有如下功能:删除第一软件安装包中的非目标资源文件,得到第二软件安装包之后,为第二软件安装包配置优化标志信息,优化标识信息包括目标参数值;
该网络接口903具体还具有如下功能:向用户设备发送配置有优化标志信息的第二软件安装包,配置有优化标志信息的第二软件安装包用于在预设安装条件下在用户设备上进行安装,预设安装条件为优化标志信息的目标参数值和用户设备使用的目标参数类型的参数值一致。
可选地,资源处理设备为用户设备,目标参数值为用户设备使用的参数值。
可选地,目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
综上所述,网络接口903获取目标参数值,目标参数值为目标参数类型的参数值;网络接口903获取第一软件安装包。然后,处理器902判断在第一软件安装包中是否包括至少两份资源文件,其中,该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,该至少两份资源文件中的不同资源文件包括相同的资源内容。若在第一软件安装包中包括前述的至少两份资源文件,则处理器902根据目标参数值从至少两份资源文件中确定目标资源文件,以及处理器902删除第一软件安装包中的非目标资源文件,得到第二软件安装包,其中,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。
这样,在资源处理设备获取目标参数值和第一软件安装包后,资源处理设备可判断该第一软件安装包是否有多余的资源文件。当在第一软件安装包中包括至少两份资源文件,且该至少两份资源文件中的不同资源文件分别匹配目标参数类型的不同参数值,以及该至少两份资源文件中的不同资源文件包括相同的资源内容时,表示该第一软件安装包中的该至少两份资源文件包括冗余的资源文件,为此,资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,该目标资源文件为需要保留的资源文件,然后,资源处理设备删除第一软件安装包中的非目标资源文件,得到第二软件安装包,非目标资源文件为至少两份资源文件中除了目标资源文件之外的资源文件。该非目标资源文件为不必要的资源文件。这样,因非目标资源文件的删除,第二软件安装包相对于第一软件安装包的空间大小得到了减小,方便了对第二软件安装包进行传输和存储等操作,因第二软件安装包保留了目标资源文件,在该至少两份资源文件中的不同资源文件包括相同的资源内容,从而第二软件安装包并没出现资源内容的缺失,尤其是因资源处理设备根据目标参数值从至少两份资源文件中确定目标资源文件,目标资源文件和目标参数值相关,从而在使用目标参数值的用户设备上,可使用该目标资源文件,这保证了该第二软件安装包在该用户设备上能成功安装或不影响用户在该用户设备上使用该第二软件安装包。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (22)
1.一种资源处理方法,其特征在于,包括:
资源处理设备获取目标参数值,所述目标参数值为目标参数类型的参数值,所述目标参数类型为安装软件安装包的设备上配置的参数类型;
所述资源处理设备获取第一软件安装包;
所述资源处理设备判断在所述第一软件安装包中是否包括至少两份资源文件,所述至少两份资源文件中的不同资源文件分别匹配所述目标参数类型的不同参数值,所述至少两份资源文件中的不同资源文件包括相同的资源内容;
若在所述第一软件安装包中包括所述至少两份资源文件,则所述资源处理设备根据所述目标参数值从所述至少两份资源文件中确定目标资源文件;
所述资源处理设备删除所述第一软件安装包中的非目标资源文件,得到第二软件安装包,所述非目标资源文件为所述至少两份资源文件中除了所述目标资源文件之外的资源文件。
2.根据权利要求1所述的方法,其特征在于,
所述资源处理设备根据所述目标参数值从所述至少两份资源文件中确定目标资源文件,包括:
所述资源处理设备判断在所述至少两份资源文件中,是否存在资源文件匹配的参数值和所述目标参数值一致;
若存在,则所述资源处理设备从所述至少两份资源文件中,确定匹配的参数值和所述目标参数值一致的目标资源文件;
否则,所述资源处理设备从所述至少两份资源文件中,根据预设规则确定目标资源文件,所述预设规则包括所述目标参数值和所述目标参数类型的预设参数值的关系规则,所述根据预设规则确定的目标资源文件匹配所述预设参数值。
3.根据权利要求2所述的方法,其特征在于,
所述资源处理设备从所述至少两份资源文件中,根据预设规则确定目标资源文件之后,所述方法还包括:
所述资源处理设备将所述目标资源文件转化为匹配所述目标参数值的资源文件。
4.根据权利要求1所述的方法,其特征在于,
所述资源处理设备判断在所述第一软件安装包中是否包括至少两份资源文件,包括:
所述资源处理设备根据预设的对应关系,确定与所述目标参数值对应的目录标识信息,所述对应关系为所述目标参数值和所述目录标识信息的对应关系,所述目录标识信息用于标识资源目录;
所述资源处理设备在所述第一软件安装包的资源目录中确定由所述目录标识信息标识的目标资源目录,所述第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,所述目标资源目录包括的资源文件匹配所述目标参数类型的参数值;
所述资源处理设备判断在所述目标资源目录中是否包括所述至少两份资源文件。
5.根据权利要求4所述的方法,其特征在于,
所述目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配所述目标参数类型的不同参数值;
所述资源处理设备判断在所述目标资源目录中是否包括所述至少两份资源文件包括:
所述资源处理设备判断是否存在相同名称的资源文件分别位于不同的所述目标资源目录中;
若存在,则所述资源处理设备执行所述根据所述目标参数值从所述至少两份资源文件中确定目标资源文件的步骤,所述至少两份资源文件为所述相同名称的资源文件。
6.根据权利要求5所述的方法,其特征在于,
所述目标参数类型为屏幕密度,所述相同名称的资源文件为相同名称的图片文件;
所述资源处理设备根据所述目标参数值从所述至少两份资源文件中确定目标资源文件,包括:
所述资源处理设备判断在所述相同名称的图片文件中,是否存在图片文件匹配的参数值和所述目标参数值一致;
若存在,则所述资源处理设备从所述相同名称的图片文件中,确定匹配的参数值和所述目标参数值一致的图片文件;
否则,所述资源处理设备判断在所述相同名称的图片文件中,是否存在图片文件匹配的参数值大于所述目标参数值;
若在所述相同名称的图片文件中,存在图片文件匹配的参数值大于所述目标参数值,则所述资源处理设备从匹配的参数值大于所述目标参数值的图片文件中,确定匹配的参数值最小的图片文件;
若在所述相同名称的图片文件中,未存在图片文件匹配的参数值大于所述目标参数值,则所述资源处理设备从所述相同名称的图片文件中,确定匹配的参数值最大的图片文件。
7.根据权利要求1至6任一项所述的方法,其特征在于,
所述资源处理设备为服务器;
所述资源处理设备获取目标参数值,包括:
所述服务器获取用户设备发送的目标参数值,所述目标参数值为所述用户设备使用的参数值;
所述资源处理设备删除所述第一软件安装包中的非目标资源文件,得到第二软件安装包之后,所述方法还包括:
所述服务器向所述用户设备发送所述第二软件安装包,所述第二软件安装包用于在所述用户设备上进行安装。
8.根据权利要求7所述的方法,其特征在于,
所述资源处理设备删除所述第一软件安装包中的非目标资源文件,得到第二软件安装包之后,所述方法还包括:
所述服务器为所述第二软件安装包配置优化标志信息,所述优化标识信息包括所述目标参数值;
所述服务器缓存配置有所述优化标志信息的第二软件安装包,所述缓存的第二软件安装包用于在预设发送条件下由所述服务器发送给目标用户设备,所述预设发送条件为所述优化标志信息的目标参数值和所述目标用户设备向所述服务器发送的参数值一致。
9.根据权利要求7所述的方法,其特征在于,
所述资源处理设备删除所述第一软件安装包中的非目标资源文件,得到第二软件安装包之后,所述方法还包括:
所述服务器为所述第二软件安装包配置优化标志信息,所述优化标识信息包括所述目标参数值;
所述服务器向所述用户设备发送所述第二软件安装包,包括:
所述服务器向所述用户设备发送配置有所述优化标志信息的第二软件安装包,所述配置有所述优化标志信息的第二软件安装包用于在预设安装条件下在所述用户设备上进行安装,所述预设安装条件为所述优化标志信息的目标参数值和所述用户设备使用的目标参数类型的参数值一致。
10.根据权利要求1至6任一项所述的方法,其特征在于,
所述资源处理设备为用户设备,所述目标参数值为所述用户设备使用的参数值。
11.根据权利要求1至5任一项所述的方法,其特征在于,
所述目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
12.一种资源处理设备,其特征在于,包括:
获取单元,用于获取目标参数值,所述目标参数值为目标参数类型的参数值,所述目标参数类型为安装软件安装包的设备上配置的参数类型;
所述获取单元,还用于获取第一软件安装包;
判断单元,用于判断在所述第一软件安装包中是否包括至少两份资源文件,所述至少两份资源文件中的不同资源文件分别匹配所述目标参数类型的不同参数值,所述至少两份资源文件中的不同资源文件包括相同的资源内容;
确定单元,用于若在所述第一软件安装包中包括所述至少两份资源文件,则根据所述目标参数值从所述至少两份资源文件中确定目标资源文件;
删除单元,用于删除所述第一软件安装包中的非目标资源文件,得到第二软件安装包,所述非目标资源文件为所述至少两份资源文件中除了所述目标资源文件之外的资源文件。
13.根据权利要求12所述的资源处理设备,其特征在于,
所述确定单元,包括第一判断模块和第一确定模块;
所述第一判断模块,用于判断在所述至少两份资源文件中,是否存在资源文件匹配的参数值和所述目标参数值一致;
若存在,则所述第一确定模块,用于从所述至少两份资源文件中,确定匹配的参数值和所述目标参数值一致的目标资源文件;
否则,所述第一确定模块,还用于从所述至少两份资源文件中,根据预设规则确定目标资源文件,所述预设规则包括所述目标参数值和所述目标参数类型的预设参数值的关系规则,所述根据预设规则确定的目标资源文件匹配所述预设参数值。
14.根据权利要求13所述的资源处理设备,其特征在于,
所述资源处理设备还包括;
转化单元,用于将所述目标资源文件转化为匹配所述目标参数值的资源文件。
15.根据权利要求12所述的资源处理设备,其特征在于,
所述判断单元,包括:
标识确定模块,用于根据预设的对应关系,确定与所述目标参数值对应的目录标识信息,所述对应关系为所述目标参数值和所述目录标识信息的对应关系,所述目录标识信息用于标识资源目录;
目录确定模块,用于在所述第一软件安装包的资源目录中确定由所述目录标识信息标识的目标资源目录,所述第一软件安装包中的资源目录包括资源文件,位于同一资源目录的资源文件匹配同一参数类型的同一参数值,所述目标资源目录包括的资源文件匹配所述目标参数类型的参数值;
判断模块,用于判断在所述目标资源目录中是否包括所述至少两份资源文件。
16.根据权利要求15所述的资源处理设备,其特征在于,
所述目标资源目录的数量为至少两份,位于不同的目标资源目录的资源文件分别匹配所述目标参数类型的不同参数值;
所述判断模块,还用于判断是否存在相同名称的资源文件分别位于不同的所述目标资源目录中;
若存在,则所述确定单元执行所述根据所述目标参数值从所述至少两份资源文件中确定目标资源文件的步骤,所述至少两份资源文件为所述相同名称的资源文件。
17.根据权利要求16所述的资源处理设备,其特征在于,
所述目标参数类型为屏幕密度,所述相同名称的资源文件为相同名称的图片文件;
所述确定单元,包括第二判断模块和第二确定模块;
所述第二判断模块,用于判断在所述相同名称的图片文件中,是否存在图片文件匹配的参数值和所述目标参数值一致;
若存在,则所述第二确定模块,用于从所述相同名称的图片文件中,确定匹配的参数值和所述目标参数值一致的图片文件;
否则,所述第二判断模块,用于判断在所述相同名称的图片文件中,是否存在图片文件匹配的参数值大于所述目标参数值;
所述第二确定模块,还用于若在所述相同名称的图片文件中,存在图片文件匹配的参数值大于所述目标参数值,则从匹配的参数值大于所述目标参数值的图片文件中,确定匹配的参数值最小的图片文件;
所述第二确定模块,还用于若在所述相同名称的图片文件中,未存在图片文件匹配的参数值大于所述目标参数值,则从所述相同名称的图片文件中,确定匹配的参数值最大的图片文件。
18.根据权利要求12至17任一项所述的资源处理设备,其特征在于,
所述资源处理设备为服务器;
所述资源处理设备还包括发送单元;
所述获取单元还用于获取用户设备发送的目标参数值,所述目标参数值为所述用户设备使用的参数值;
所述发送单元,用于向所述用户设备发送所述第二软件安装包,所述第二软件安装包用于在所述用户设备上进行安装。
19.根据权利要求18所述的资源处理设备,其特征在于,
所述资源处理设备还包括:
配置单元,用于为所述第二软件安装包配置优化标志信息,所述优化标识信息包括所述目标参数值;
缓存单元,用于缓存配置有所述优化标志信息的第二软件安装包,所述缓存的第二软件安装包用于在预设发送条件下由所述服务器发送给目标用户设备,所述预设发送条件为所述优化标志信息的目标参数值和所述目标用户设备向所述服务器发送的参数值一致。
20.根据权利要求18所述的资源处理设备,其特征在于,
所述资源处理设备还包括:
所述配置单元,用于为所述第二软件安装包配置优化标志信息,所述优化标识信息包括所述目标参数值;
所述发送单元,还用于向所述用户设备发送配置有所述优化标志信息的第二软件安装包,所述配置有所述优化标志信息的第二软件安装包用于在预设安装条件下在所述用户设备上进行安装,所述预设安装条件为所述优化标志信息的目标参数值和所述用户设备使用的目标参数类型的参数值一致。
21.根据权利要求12至17任一项所述的资源处理设备,其特征在于,
所述资源处理设备为用户设备,所述目标参数值为所述用户设备使用的参数值。
22.根据权利要求12至16任一项所述的资源处理设备,其特征在于,
所述目标参数类型包括屏幕密度、屏幕分辨率、屏幕大小、用户设备操作系统版本号、用户设备使用的语言、和用户设备上设置的地区信息中的其中之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710786591.3A CN109426509A (zh) | 2017-09-04 | 2017-09-04 | 资源处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710786591.3A CN109426509A (zh) | 2017-09-04 | 2017-09-04 | 资源处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109426509A true CN109426509A (zh) | 2019-03-05 |
Family
ID=65513639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710786591.3A Pending CN109426509A (zh) | 2017-09-04 | 2017-09-04 | 资源处理方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109426509A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116624A (zh) * | 2021-11-29 | 2022-03-01 | 武汉联影智融医疗科技有限公司 | 图片资源处理方法、电子装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366341A (zh) * | 2013-04-16 | 2013-10-23 | 广东欧珀移动通信有限公司 | 一种图像自适应分辨率显示的方法及装置 |
CN103870303A (zh) * | 2014-02-10 | 2014-06-18 | 广东欧珀移动通信有限公司 | 减小软件安装包大小的方法及装置 |
CN104182266A (zh) * | 2014-09-15 | 2014-12-03 | 联想(北京)有限公司 | 一种应用安装方法及装置 |
CN105915623A (zh) * | 2016-05-20 | 2016-08-31 | 努比亚技术有限公司 | 应用安装包处理装置及方法 |
CN106157247A (zh) * | 2016-07-06 | 2016-11-23 | 北京元心科技有限公司 | 一种图片处理方法和系统 |
CN106599151A (zh) * | 2016-12-07 | 2017-04-26 | Tcl集团股份有限公司 | 一种Android工程无用资源并行清理的方法及系统 |
-
2017
- 2017-09-04 CN CN201710786591.3A patent/CN109426509A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366341A (zh) * | 2013-04-16 | 2013-10-23 | 广东欧珀移动通信有限公司 | 一种图像自适应分辨率显示的方法及装置 |
CN103870303A (zh) * | 2014-02-10 | 2014-06-18 | 广东欧珀移动通信有限公司 | 减小软件安装包大小的方法及装置 |
CN104182266A (zh) * | 2014-09-15 | 2014-12-03 | 联想(北京)有限公司 | 一种应用安装方法及装置 |
CN105915623A (zh) * | 2016-05-20 | 2016-08-31 | 努比亚技术有限公司 | 应用安装包处理装置及方法 |
CN106157247A (zh) * | 2016-07-06 | 2016-11-23 | 北京元心科技有限公司 | 一种图片处理方法和系统 |
CN106599151A (zh) * | 2016-12-07 | 2017-04-26 | Tcl集团股份有限公司 | 一种Android工程无用资源并行清理的方法及系统 |
Non-Patent Citations (2)
Title |
---|
A220315410: "Android基于dpi的资源加载", 《HTTPS://BLOG.CSDN.NET/A220315410/ARTICLE/DETAILS/11896189》 * |
天之界线2010: "App瘦身最佳实践", 《HTTPS://WWW.JIANSHU.COM/P/8F14679809B3》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116624A (zh) * | 2021-11-29 | 2022-03-01 | 武汉联影智融医疗科技有限公司 | 图片资源处理方法、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302587B (zh) | 数据更新方法及装置 | |
CN102355500B (zh) | 业务推送方法和装置 | |
CN110457281A (zh) | 数据处理方法、装置、设备及介质 | |
CN103188574B (zh) | 传输网络视频的方法及系统 | |
CN108287758A (zh) | 一种应用资源管理方法、使用方法及装置 | |
CN104754062B (zh) | 基于互联网的信息推广方法、服务器及用户终端 | |
CN110096660A (zh) | 用于加载页面图片的方法、装置和电子设备 | |
CN106302445A (zh) | 用于处理请求的方法和装置 | |
CN104778178B (zh) | 一种应用分类方法、装置、及业务服务器 | |
CN105302601A (zh) | 软件升级服务器的系统及方法 | |
CN102387172A (zh) | 用于为移动设备提供或获取网络资源的内容的方法和装置 | |
CN106453572A (zh) | 基于云服务器同步图像的方法及系统 | |
CN106817391A (zh) | 文件断点续传方法和装置 | |
CN102906715B (zh) | 优化缓存存储器管理的方法和对应装置 | |
CN105260459B (zh) | 搜索方法和装置 | |
CN111931095A (zh) | 一种Android系统的图片加载方法 | |
CN113840249A (zh) | 区分计费话单的方法、计费网关和系统 | |
CN101217734B (zh) | 利用brew_url地址访问brew页面的方法及终端 | |
CN105577734A (zh) | 一种信息备份方法、装置、服务器和终端 | |
CN104053016B (zh) | 一种图像预览方法及装置 | |
CN105144658A (zh) | 使用路由器的集中式任务管理 | |
CN112346758B (zh) | 一种数字基建业务更新平台、更新方法及电子设备 | |
CN109426509A (zh) | 资源处理方法和设备 | |
CN105490852B (zh) | 一种升级检测方法和装置 | |
CN101146282A (zh) | 应用识别模块下载电子文件的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190305 |
|
RJ01 | Rejection of invention patent application after publication |