[go: up one dir, main page]

CN110059214B - 一种图像资源处理方法及装置 - Google Patents

一种图像资源处理方法及装置 Download PDF

Info

Publication number
CN110059214B
CN110059214B CN201910258536.6A CN201910258536A CN110059214B CN 110059214 B CN110059214 B CN 110059214B CN 201910258536 A CN201910258536 A CN 201910258536A CN 110059214 B CN110059214 B CN 110059214B
Authority
CN
China
Prior art keywords
image resource
image
resource
name
code file
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.)
Active
Application number
CN201910258536.6A
Other languages
English (en)
Other versions
CN110059214A (zh
Inventor
刘海军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910258536.6A priority Critical patent/CN110059214B/zh
Publication of CN110059214A publication Critical patent/CN110059214A/zh
Application granted granted Critical
Publication of CN110059214B publication Critical patent/CN110059214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种图像资源处理方法及装置,该方法包括:扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;提取所述图像资源集合中每个图像资源的第一特征信息;扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息;分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息。通过本发明提供的图像资源处理方法,可以提高确定图像资源的使用信息的效率。

Description

一种图像资源处理方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种图像资源处理方法及装置。
背景技术
目前,在完成程序文件(例如,应用程序(Application,简称为App)文件)开发后,往往需要对程序文件进行优化后在使用,例如,删除程序文件中一些未被使用的图像资源,以减少程序文件的大小。
然而在现有技术中,在确定程序文件中图像资源的使用情况的过程中,对于程序文件中的每个图像资源,均需要扫描一遍程序文件,效率较低。例如,通过Find命令查找“*.png”、“*.jpg”等格式的图像资源,并遍历查找到的所有图像资源,对于每一图像资源执行Ack命令,若输出为空,则确定该图像资源为未被使用的图像资源。
可见,现有技术中存在确定程序文件中图像资源的使用情况的效率较低的问题。
发明内容
本发明提供一种图像资源处理方法及装置,以解决确定程序文件中图像资源的使用情况的效率较低的问题。
第一方面,本发明提供了一种图像资源处理方法,该方法包括:
扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;
提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;
扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;
根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;
分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息。
第二方面,本发明还提供一种图像资源处理装置,该装置包括:
第一扫描模块,用于扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;
提取模块,用于提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;
第二扫描模块,用于扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;
获取模块,用于根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;
匹配模块,用于分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息。
第三方面,本发明还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的图像资源处理方法的步骤
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的图像资源处理方法的步骤。
本发明实施例中,通过提取从资源文件中扫描得到的图像资源集合中每个图像资源的名称和代码文件中引用的每个图像资源的名称,并将图像资源集合中每个图像资源的名称和代码文件中所引用的图像资源的名称进行匹配,以得到资源文件中图像资源的使用信息,相比于现有技术中对于程序文件中的每个图像资源均需要扫描一遍程序文件,以得到资源文件中图像资源的使用信息,不仅效率较高,还可以提高确定的图像资源的使用信息的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的图像资源处理方法的流程图;
图2是本发明又一实施例提供的图像资源处理方法的流程图;
图3是本发明实施例提供的图像资源处理装置的结构图;
图4是本发明又一实施例提供的图像资源处理装置的结构图;
图5是本发明又一实施例提供的图像资源处理装置的结构图;
图6是本发明实施例提供的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种图像资源处理方法。参见图1,图1是本发明实施例提供的图像资源处理方法的流程图,如图1所示,包括以下步骤:
步骤101、扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合。
本实施例中,上述程序文件可以是基于任意开发语言开发的程序的数据包,例如,基于XCode开发的应用程序的数据包。上述程序文件可以包括资源文件和代码文件等。其中,上述资源文件可以包括图像资源(例如,静态图像资源和/或动态图像资源等)、字符串资源(例如,文本资源)、对象数据等,上述代码文件可以包括源代码、静态库和动态库等中的一项或是多项。
该步骤中,可以扫描整个程序文件得到资源文件中的图像资源集合,也可以是仅扫描程序文件中的资源文件得到资源文件中的图像资源集合。需要说明的是,上述图像资源集合中的每个图像资源可以通过图像资源的表示信息进行表示,例如,字符串“/XXX/XXX/XXX/aaa.imageset”可以用于表示图像资源aaa,其中,“/XXX/XXX/XXX/”表示图像资源路径,上述“aaa”表示图像资源名称,“imageset”表示图像资源的后缀。
例如,可以扫描资源文件中以"imageset"、"jpg"、"gif"或"png"结尾的图像资源,得到图像资源列表。其中,上述图像资源列表可以如下所示:
/XXX/XXX/XXX/aaa.imageset;
/XXX/XXX/XXX/bbb@2x~YYY.jpg;
/XXX/XXX/XXX/bbb@3x~YYY.jpg;
/XXX/XXX/XXX/ccc.png。
其中,上述“/XXX/XXX/XXX/”表示图像资源路径,上述“aaa”、“bbb”和“ccc”表示图像资源名称,上述“2x”、“3x”表示图像资源分辨率,上述“YYY”表示平台参数。
步骤102、提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称。
本实施例中,上述第一特征信息可以包括图像资源的名称。除此之外,上述第一特征信息还可以包括图像资源的路径、分辨率和大小等中的一项或是多项。
实际应用中,每个图像资源的表示信息通常包括较多类型的信息,例如,路径、后缀、分辨率信息等。可选的,对于图像资源集合中每个图像资源,可以通过去除图像资源的表示信息中的一些信息,得到图像资源的名称。例如,可以采用如下步骤a至步骤c,提取每个图像资源的名称:
步骤a、去除图像资源的表示信息中的路径和后缀,得到第一信息。
例如,对于/XXX/XXX/XXX/bbb@2x~YYY.jpg,去除路径和后缀之后得到:bbb@2x~YYY。
步骤b、去除所述第一信息中的平台参数,得到第二信息。
例如,对于bbb@2x~YYY,去除平台参数之后,得到bbb@2x。
步骤c、去除第二信息中的分辨率信息。
例如,对于bbb@2x,去除分辨率信息之后,得到bbb,也即图像资源的名称。
可选的,对于图像资源集合中每个图像资源,本实施例也可以通过构建的正则表达式匹配,直接从图像资源的表示信息中提取图像资源的名称。
步骤103、扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源。
本实施例中,上述代码文件可以包括源代码。可选的,上述代码文件还可以包括静态库和动态库等中的至少一项。
上述图像资源引用信息可以用于指示代码文件中所引用的图像资源,例如,上述图像资源引用信息可以是源代码中引用图像资源的字符串。其中,上述代码文件引用图像资源可以是指在代码文件中写入图像资源的路径等引用图像资源。
实际应用中,对于不同类型的代码文件,可以采用不同的特征提取方式提取图像资源引用信息。例如,对于后缀为“m”的源代码,可以采用正则表达式"@\"(.*?)\""提取图像资源引用信息;对于后缀为“swift”的源代码,可以采用正则表达式"\"(.*?)\""提取图像资源引用信息;对于后缀为“storyboard”的源代码,可以采用正则表达式"image name=\"(.+?)\""提取图像资源引用信息;对于后缀为“js”的源代码,可以采用正则表达式"[\"'](.*?)[\"']"提取图像资源引用信息;对于后缀为“a”的静态库,可以采用“strings”命令提取字符串(即string)类型字符,以得到图像资源引用信息;对于后缀为“framework”的动态库,可以采用“strings”命令提取字符串(即string)类型字符,以得到图像资源引用信息。
步骤104、根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称。
本实施例中,上述第二特征信息可以包括代码文件中引用的图像资源的名称。除此之外,上述第二特征信息还可以包括代码文件中引用的图像资源的引用位置和引用次数等中的一项或是多项。
可选的,可以按照上述步骤a至步骤c,获取代码文件中引用的每个图像资源的名称,也即分别去除每个图像资源引用信息中的路径、后缀、平台参数和分辨率信息等,得到代码文件中引用的每个图像资源的名称;也可以通过构建的正则表达式,直接从图像资源引用信息中提取图像资源的名称。
步骤105、分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息。
本实施例中,可以分别将图像资源集合中每个图像资源的名称与代码文件中所引用的图像资源的名称进行匹配,以确定图像资源集合中各个图像资源的使用信息,其中,上述图像资源的使用信息可以包括图像资源被使用、图像资源未被使用和图像资源可能被使用等中的一项或是多项。
例如,可以将图像资源集合中名称与代码文件中所引用的图像资源的名称均不相同的图像资源确定为未被使用的图像资源,例如,图像资源集合中的图像资源的名称包括aaa,代码文件中所引用的图像资源的名称不包括aaa,则可以确定图像资源aaa为未被使用的图像资源。
再例如,可以将图像资源集合中名称与代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源确定为被使用的图像资源,例如,图像资源集合中的图像资源的名称包括bbb,代码文件中所引用的图像资源的名称也包括bbb,则可以确定图像资源bbb为被使用的图像资源。
再例如,可以将图像资源集合中名称的部分内容与代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源确定为可能被使用的图像资源,例如,图像资源集合中的图像资源的名称包括bbbc,代码文件中所引用的图像资源的名称包括bbb,则可以确定图像资源bbbc为可能被使用的图像资源。
本发明实施例的图像资源处理方法,通过提取从资源文件中扫描得到的图像资源集合中每个图像资源的名称和代码文件中引用的每个图像资源的名称,并将图像资源集合中每个图像资源的名称和代码文件中所引用的图像资源的名称进行匹配,以得到资源文件中图像资源的使用信息,相比于现有技术中对于程序文件中的每个图像资源均需要扫描一遍程序文件,以得到资源文件中图像资源的使用信息,不仅效率较高,还可以提高所确定的图像资源的使用信息的准确性。
参见图2,图2是本发明实施例提供的图像资源处理方法的流程图。本发明实施例与上一实施例的区别主要在于对上述步骤105进行进一步限定。本发明实施中,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息,包括:遍历所述图像资源集合中每个图像资源的名称,并与所述代码文件中所引用的图像资源的名称进行匹配;将所述图像资源集合中的第一目标图像资源确定为未被使用的图像资源;其中,所述第一目标图像资源包括名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者包括名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源。
如图2所示,本发明实施例提供的图像资源处理方法包括以下步骤:
步骤201、扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合。
该步骤可以同上述步骤101,为避免重复,在此不做赘述。
步骤202、提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称。
该步骤可以同上述步骤102,为避免重复,在此不做赘述。
步骤203、扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源。
该步骤可以同上述步骤103,为避免重复,在此不做赘述。
步骤204、根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称。
该步骤可以同上述步骤104,为避免重复,在此不做赘述。
步骤205、遍历所述图像资源集合中每个图像资源的名称,并与所述代码文件中所引用的图像资源的名称进行匹配。
本实施例,可以遍历图像资源集合中每个图像资源的名称,并分别与代码文件中所引用的图像资源的名称进行匹配。
例如,可以按照顺序查找方式,将图像资源集合中每个图像资源的名称,分别与代码文件中所引用的每个图像资源的名称进行比较。
需要说明的是,在代码文件中所引用的图像资源的名称包括拼接符(例如,%@,%s,%d等)的情况下,可以去掉代码文件中所引用的图像资源的名称中的拼接符,在与图像资源集合中的图像资源的名称进行匹配,以提高匹配结果的准确性。
步骤206、将所述图像资源集合中的第一目标图像资源确定为未被使用的图像资源,其中,所述第一目标图像资源包括名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者包括名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源。
本实施例中,上述第一目标图像资源可以是名称与代码文件中所引用的图像资源的名称均不相同的图像资源。例如,图像资源集合中某一图像资源的名称为aaa,而代码文件中所引用的图像资源的名称包括bbb和ccc,由此可知该图像资源的名称与代码文件中所引用的图像资源的名称均不相同。
上述预设部分可以根据实际需求进行合理设置,例如,名称中的前N位,其中,N为正整数,N小于名称总长度且大于或等于名称总长度的1/2。
实际应用中,可以遍历图像资源集合中的图像资源的名称,对于每一图像资源的名称,若其长度为M位,可以先查找代码文件中所引用的个图像资源的名称中是否存在该M位的名称,若不存在,则可以去掉该M位的名称中的最后一位,并查找代码文件中所引用的图像资源的名称中是否存在该M-1位的名称,若存在,可以标记该图像资源为可能被使用的图像资源,否则继续去除一位进行比较,直至所去除的位数大于或等于M/2,停止比较,并标记该图像资源为未被使用的图像资源。
本发明实施例通过将所述图像资源集合中名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源确定为未被使用的图像资源,可以提高所确定的未被使用的图像资源的准确性。
可选的,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息,还可以包括如下至少之一:
将所述图像资源集合中的第二目标图像资源确定为被使用的图像资源;其中,所述第二目标图像资源包括名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源;
将所述图像资源集合中的第三目标图像资源确定为可能被使用的图像资源;其中,所述第三目标图像资源包括名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源。
本实施例中,可以将图像资源集合中名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源,确定为被使用的图像资源。
例如,图像资源集合中某一图像资源的名称为aaa,而代码文件中所引用的图像资源的名称包括aaa、bbb和ccc,由于该图像资源的名称与代码文件中所引用的图像资源中一图像资源的名称完全相同,此时可以确定该图像资源为被使用的图像资源。
可选的,本实施例还可以将图像资源集合中名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源,确定为可能被使用的图像资源。其中,上述预设部分可以根据实际需求进行合理设置,例如,名称中的前N位,其中,N为正整数,N小于名称总长度且大于或等于名称总长度的1/2。
例如,图像资源集合中某一图像资源的名称为aaac,而代码文件中所引用的图像资源的名称包括aaa、bbb和ccc,由于该图像资源的名称的预设部分与代码文件中所引用的图像资源中一图像资源相同,此时可以确定该图像资源为可能被使用的图像资源。
本实施例通过将图像资源集合中名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源,确定为被使用的图像资源,和/或将将图像资源集合中名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源,确定为可能被使用的图像资源,从而可以提高更多的图像资源的使用信息供用户参考,以优化程序文件。
可选的,所述第一特征信息还包括所述图像资源集合中图像资源的属性信息,所述图像资源集合中图像资源的名称和属性信息存储为第一字典,其中,所述图像资源集合中图像资源的名称作为所述第一字典的键,所述图像资源集合中图像资源的属性信息作为所述第一字典的值;
所述第二特征信息还包括所述代码文件中引用的图像资源的属性信息,所述代码文件中引用的图像资源的名称和属性信息存储为第二字典,其中,所述代码文件中引用的图像资源的名称作为所述第二字典的键,所述代码文件中引用的图像资源的属性信息作为所述第二字典的值。
本实施例中,上述图像资源集合中图像资源的属性信息,可以包括图像资源的路径、大小等。上述代码文件中引用的图像资源的属性信息可以包括图像资源的引用位置、引用次数等。
通常字典的查找速度较快,为了提高查找速度,本实施例可以将所述图像资源集合中图像资源的名称和属性信息存储为第一字典,其中,所述图像资源集合中图像资源的名称作为所述第一字典的键,所述图像资源集合中图像资源的属性信息作为所述第一字典的值;还可以将代码文件中引用的图像资源的名称和属性信息存储为第二字典,其中,所述代码文件中引用的图像资源的名称作为所述第二字典的键,所述代码文件中引用的图像资源的属性信息作为所述第二字典的值。
例如,上述第一字典可以包括如下键值对:
aaa:/XXX/XXX/XXX/aaa.imageset;
bbb:/XXX/XXX/XXX/bbb@2x~iphone.jpg;
ccc:/XXX/XXX/XXX/ccc.png。
上述第二字典可以包括如下键值对:
aaa:/XXX/XXX/XXX/xxx.m;
ddd:/XXX/XXX/XXX/yyy.js;
ccc:/XXX/XXX/XXX/zzz.a。
实际应用中,可以遍历第一字典中存储的键,也即图像资源集合中的图像资源的名称,并查找第二字典中是否存在该键,若存在,则可以确定该图像资源为被使用的图像资源;否则可以确定该图像资源为未被使用的图像资源,或是去除该键中的最后一位,并查找第二字典中是否存在去掉一位后的键,若存在则确定该图像资源为可能使用的图像资源,否则可以继续去除该键的一位,直至所去除的位数大于或等于该键的长度的一半,停止比较,并标记该图像资源为未被使用的图像资源。
本实施例通过将所述图像资源集合中图像资源的名称和属性信息存储为第一字典,所述代码文件中引用的图像资源的名称和属性信息存储为第二字典,由于字典查找速度较快,可以进一步减少查找时间,提高确定资源文件中图像资源的使用信息的效率。
可选的,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,所述方法还可以包括:
从所述资源文件中删除第四目标图像资源;其中,所述第四目标图像资源为所述图像资源集合中确定为未被使用的图像资源。
例如,可以遍历被标记为未被使用的图像资源,并根据其对应的表示信息(例如,/XXX/XXX/XXX/bbb@2x~iphone.jpg)删除该图像资源。
本实施例可以自动删除上述资源文件中确定为未被使用的图像资源,不仅可以减少程序文件的大小,还可以节省用户操作。
可选的,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,所述方法还可以包括:
显示第五目标图像资源的使用信息和属性信息;
其中,所述第五目标图像资源至少包括所述图像资源集合中确定为可能被使用的图像资源,所述第五目标图像资源的属性信息至少包括所述第五目标图像资源的大小和/或位置。
本实施例中,可以显示所述图像资源集合中确定为可能被使用的图像资源的使用信息和属性信息。上述第五目标图像资源的属性信息可以包括第五目标图像资源的大小和/或位置。其中,上述第五目标图像资源的位置可以包括第五目标图像资源所处位置(例如,第五目标图像资源的路径)和引用位置(例如,引用该第五目标图像资源的代码文件的路径)等。
实际应用中,通过显示图像资源集合中确定为可能被使用的图像资源的使用信息和属性信息,以供用户参考,便于帮助用户决策是否需要删除该被确定为可能被使用的图像资源。
需要说明的是,本实施例也可以显示图像资源集合中确定为被使用的图像资源的使用信息和属性信息。
以下结合示例对本发明实施例进行说明:
具体的,本发明实施例提供的图像处理方法包括如下步骤:
步骤s1、检索图像资源列表
例如,可以扫描磁盘中以["imageset","jpg","gif","png"]结尾的图像资源,得到的图像资源列表如下:
/XXX/XXX/XXX/aaa.imageset;
/XXX/XXX/XXX/bbb@2x~iphone.jpg;
/XXX/XXX/XXX/bbb@3x~iphone.jpg;
/XXX/XXX/XXX/ccc.png。
步骤s2、根据上述图像资源列表,生成第一字典。
该步骤中,可以采用上述步骤a至步骤c提取图像资源的名称,并将图像资源的名称作为键(即Key),图像资源的属性信息(例如,表示信息)作为值(即Value),生成第一字典(即ImageDic)。例如,第一字典可以如下所示:
Figure BDA0002014540750000121
Figure BDA0002014540750000131
其中,paths用于表示命中同一个名称的图像资源列表;fileSize用于表示paths图像资源列表所占用磁盘之和。
步骤s3、获取代码文件中的图像资源引用信息。
上述步骤s3可以包括如下三种情况:
一、源代码扫描
对于不同源代码,可以采用不同正则表达式提取图像资源引用信息。例如,对于后缀为“m”的源代码,可以采用正则表达式"@\"(.*?)\""提取图像资源引用信息;对于后缀为“swift”的源代码,可以采用正则表达式"\"(.*?)\""提取图像资源引用信息;对于后缀为“storyboard”的源代码,可以采用正则表达式"image name=\"(.+?)\""提取图像资源引用信息;对于后缀为“js”的源代码,可以采用正则表达式"[\"'](.*?)[\"']"提取图像资源引用信息。
二、静态库扫描
例如,检索后缀为“.a”的文件路径代码,并利用linux中的“strings”命令提取字符串(即string)类型的字符,得到静态库包含的图像资源引用信息。
三、动态库扫描
例如,检索后缀为“framework”的文件的路径代码,去除二进制目录:xxx.framework/xxx,并利用linux中的“strings”命令提取字符串(即string)类型的字符,得到动态库包含的图像资源引用信息。
步骤s4、根据代码文件中的图像资源引用信息,生成第二字典。
该步骤中,可以结合上述源代码扫描、静态库扫描和动态库扫描结果,并采用上述步骤a至步骤c提取图像资源的名称,并将图像资源的名称作为键,图像资源的属性信息(例如,引用位置)作为值,生成第二字典(即CodeReferDic)。例如,第二字典可以如下所示:
Figure BDA0002014540750000142
步骤s5、遍历第一字典,检查其键是否存在于第二字典中,若存在为被使用的图像资源,不存在则进行后缀匹配,后缀匹配上的图像资源标记为可被使用的图像资源,直接匹配和后缀匹配都未命中图像资源记录为未被使用的图像资源。
具体的,若是第一字典包括是否被使用属性(即used)和引用位置属性(即refs),则对于确定为被使用的图像资源,其used可标记为YES;对于确定为可被使用的图像资源,其used可标记为Maybe[N];对于确定为未被使用的图像资源,其used可标记为NO。
具体的,执行上步骤s5之后,可以生成被使用的图像资源的字典(即usedDic)和未被使用的图像资源的字典(即UnUsedDic)。
例如,上述usedDic可以如下所示:
Figure BDA0002014540750000141
Figure BDA0002014540750000151
例如,上述UnUsedDic可以如下所示:
Figure BDA0002014540750000152
需要说明的是,在第二字典中存在以%@、%s和%d等拼接符号结尾的键时,可以去除该键中的拼接符号,重新生成第三字典,并将第一字典中的键与第三字典进行匹配。例如,“‘aaa%@’:{…}“变成”‘aaa’:{…}”。
上述后缀匹配可以包括如下步骤:遍历第一字典中的每一个键(即key),其初始长度为M位,先去掉其最后一位,若该键的M-1位存在于第三字典中,则标记为Mabe[1],否则继续去掉一位比较,当去掉位数大于等于M/2时,停止后缀匹配,标记used为NO。
例如,源代码中存在如下代码:[UIImage imageNamed:[NSStringstringWithFormat:@"aaaaaa%@.png",ISPHONE?@"_s"]
通过正则表达式匹配后得到如下字符串:aaaaaa%@.png;
去图像特征生成第二字典(即CodeReferDic):{‘aaaaaa%@’:{...}};
去后缀特征生成第三字典(即perfixCodeReferDic):{‘aaaaaa’:{...}}
假如有图像资源aaaaaabcd,会先检查aaaaaabcd是否在CodeReferDic,若存在则为直接匹配,否则去掉最后一位得到aaaaaabc,并检查aaaaaabc是否存在于perfixCodeReferDic,若去掉三位后存在于perfixCodeReferDic中,则标记为Maybe[3],确定该图像资源为可能被使用的图像资源。
可选的,本实施例还可以自动遍历UnUsedDic,并根据paths删除UnUsedDic中的图像资源。
可选的,可以按照上述usedDic的样式展示对应图像资源的名称、位置、占用磁盘空空间大小,是否为后缀匹配等信息,以供用户参考,帮助决策图像资源是否可删以及图像资源是否不重要且可转换为云端图像,以进一步减少程序文件的大小。
需要说明的是,本发明实施例的图像处理方法的时间复杂度包括:
(1)、图像检索时间复杂度,也即遍历一遍图像的时间;
(2)、源码扫描时间复杂度,也即源码数量*正则匹配时间;
(3)、静态库扫描时间,也即(*.a数量+*.framewor数量)*(strings命令执行时间);
(4)、特征值比较时间复杂度,也即字典的检索时间复杂度是O(1)和未被使用图像资源的时间复杂度是O(N),其中,N为第一字典的长度。
上述(1)至(4)使用的总时间和遍历一遍文件所使用的时间通常在同一量级,设为E,则总的时间复杂度为E+N*O(1),其中N*O(1)远小于E。由此可知,相比于现有技术中确定未被使用图像资源的复杂度(即N*E),本发明实施例提供的图像处理方法明显更为高效。
综上可知,本发明实施例提供的图像处理方法,根据提取的图像资源的特征信息确定图像资源的使用情况,算法较为高效。此外,由于图像特征信息提取可以涵盖不同类型文件的特点,使得扫描结果更准确。最后,利用字典结构(即哈希存储结果)进行图像资源引用比对,算法较为高效,且自动删除未被使用的图像资源,可以节省人工操作。
参见图3,图3是本发明实施例提供的图像资源处理装置的结构图。如图3所示,图像资源处理装置300包括:
第一扫描模块301,用于扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;
提取模块302,用于提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;
第二扫描模块303,用于扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;
获取模块304,用于根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;
匹配模块305,用于分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息。
可选的,所述匹配模块具体用于:
遍历所述图像资源集合中每个图像资源的名称,并与所述代码文件中所引用的图像资源的名称进行匹配;
将所述图像资源集合中的第一目标图像资源确定为未被使用的图像资源;
其中,所述第一目标图像资源包括名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者包括名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源。
可选的,所述匹配模块还用于如下至少之一:
将所述图像资源集合中的第二目标图像资源确定为被使用的图像资源;其中,所述第二目标图像资源包括名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源;
将所述图像资源集合中的第三目标图像资源确定为可能被使用的图像资源;其中,所述第三目标图像资源包括名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源。
可选的,所述第一特征信息还包括所述图像资源集合中图像资源的属性信息,所述图像资源集合中图像资源的名称和属性信息存储为第一字典,其中,所述图像资源集合中图像资源的名称作为所述第一字典的键,所述图像资源集合中图像资源的属性信息作为所述第一字典的值;
所述第二特征信息还包括所述代码文件中引用的图像资源的属性信息,所述代码文件中引用的图像资源的名称和属性信息存储为第二字典,其中,所述代码文件中引用的图像资源的名称作为所述第二字典的键,所述代码文件中引用的图像资源的属性信息作为所述第二字典的值。
可选的,参见图4,所述装置还包括:
删除模块306,用于所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,从所述资源文件中删除第四目标图像资源;其中,所述第四目标图像资源为所述图像资源集合中确定为未被使用的图像资源。
可选的,参见图5,所述装置还包括:
显示模块307,用于所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,显示第五目标图像资源的使用信息和属性信息;
其中,所述第五目标图像资源至少包括所述图像资源集合中确定为可能被使用的图像资源,所述第五目标图像资源的属性信息至少包括所述第五目标图像资源的大小和/或位置。
图像资源处理装置300能够实现图1至图2的方法实施例的图像资源处理方法的各个过程,并达到相同的效果为避免重复,这里不再赘述。
本发明实施例的图像资源处理装置300,第一扫描模块301,用于扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;提取模块302,用于提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;第二扫描模块303,用于扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;获取模块304,用于根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;匹配模块305,用于分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息,相比于现有技术中对于程序文件中的每个图像资源均需要扫描一遍程序文件,以得到资源文件中图像资源的使用信息,不仅效率较高,还可以提高确定的图像资源的使用信息的准确性。
本发明实施例还提供一种图像资源处理装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一方法实施例的图像资源处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的图像资源处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random AccessMemory,简称RAM)、磁碟或者光盘等。
参见图6,图6是本发明实施提供的电子设备的结构图,如图6所示电子设备包括:处理器601、存储器602及存储在所述存储器602上并可在所述处理器上运行的计算机程序,图像资源处理装置600中的各个组件通过总线接口603耦合在一起,所述计算机程序被所述处理器601执行时实现如下步骤:
扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;
提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;
扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;
根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;
分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息。
可选的,所述计算机程序被所述处理器601执行时还用于:
遍历所述图像资源集合中每个图像资源的名称,并与所述代码文件中所引用的图像资源的名称进行匹配;
将所述图像资源集合中的第一目标图像资源确定为未被使用的图像资源;
其中,所述第一目标图像资源包括名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者包括名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源。
可选的,所述计算机程序被所述处理器601执行时还用于实现如下至少之一:
将所述图像资源集合中的第二目标图像资源确定为被使用的图像资源;其中,所述第二目标图像资源包括名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源;
将所述图像资源集合中的第三目标图像资源确定为可能被使用的图像资源;其中,所述第三目标图像资源包括名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源。
可选的,所述第一特征信息还包括所述图像资源集合中图像资源的属性信息,所述图像资源集合中图像资源的名称和属性信息存储为第一字典,其中,所述图像资源集合中图像资源的名称作为所述第一字典的键,所述图像资源集合中图像资源的属性信息作为所述第一字典的值;
所述第二特征信息还包括所述代码文件中引用的图像资源的属性信息,所述代码文件中引用的图像资源的名称和属性信息存储为第二字典,其中,所述代码文件中引用的图像资源的名称作为所述第二字典的键,所述代码文件中引用的图像资源的属性信息作为所述第二字典的值。
可选的,所述计算机程序被所述处理器601执行时还用于:
所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,从所述资源文件中删除第四目标图像资源;其中,所述第四目标图像资源为所述图像资源集合中确定为未被使用的图像资源。
可选的,所述计算机程序被所述处理器601执行时还用于:
所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,显示第五目标图像资源的使用信息和属性信息;
其中,所述第五目标图像资源至少包括所述图像资源集合中确定为可能被使用的图像资源,所述第五目标图像资源的属性信息至少包括所述第五目标图像资源的大小和/或位置。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种图像资源处理方法,其特征在于,包括:
扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;
提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;
扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;
根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;
分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息;
所述第一特征信息还包括所述图像资源集合中图像资源的属性信息,所述图像资源集合中图像资源的名称和属性信息存储为第一字典,其中,所述图像资源集合中图像资源的名称作为所述第一字典的键,所述图像资源集合中图像资源的属性信息作为所述第一字典的值;
所述第二特征信息还包括所述代码文件中引用的图像资源的属性信息,所述代码文件中引用的图像资源的名称和属性信息存储为第二字典,其中,所述代码文件中引用的图像资源的名称作为所述第二字典的键,所述代码文件中引用的图像资源的属性信息作为所述第二字典的值;
所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息包括:
遍历所述第一字典中存储的键,并查找所述第二字典中是否存在所述键,若存在,则可以确定所述图像资源为被使用的图像资源;否则确定所述图像资源为未被使用的图像资源,或是去除所述键中的最后一位,并查找第二字典中是否存在去掉一位后的键,若存在则确定所述图像资源为可能使用的图像资源,否则可以继续去除所述键的一位,直至所去除的位数大于或等于所述键的长度的一半,停止比较,并标记所述图像资源为未被使用的图像资源。
2.根据权利要求1所述的方法,其特征在于,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息,包括:
遍历所述图像资源集合中每个图像资源的名称,并与所述代码文件中所引用的图像资源的名称进行匹配;
将所述图像资源集合中的第一目标图像资源确定为未被使用的图像资源;
其中,所述第一目标图像资源包括名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者包括名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源。
3.根据权利要求2所述的方法,其特征在于,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息,还包括如下至少之一:
将所述图像资源集合中的第二目标图像资源确定为被使用的图像资源;其中,所述第二目标图像资源包括名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源;
将所述图像资源集合中的第三目标图像资源确定为可能被使用的图像资源;其中,所述第三目标图像资源包括名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源。
4.根据权利要求1所述的方法,其特征在于,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,所述方法还包括:
从所述资源文件中删除第四目标图像资源;其中,所述第四目标图像资源为所述图像资源集合中确定为未被使用的图像资源。
5.根据权利要求1所述的方法,其特征在于,所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,所述方法还包括:
显示第五目标图像资源的使用信息和属性信息;
其中,所述第五目标图像资源至少包括所述图像资源集合中确定为可能被使用的图像资源,所述第五目标图像资源的属性信息至少包括所述第五目标图像资源的大小和/或位置。
6.一种图像资源处理装置,其特征在于,包括:
第一扫描模块,用于扫描程序文件中的资源文件,得到所述资源文件中的图像资源集合;
提取模块,用于提取所述图像资源集合中每个图像资源的第一特征信息,其中,所述第一特征信息至少包括图像资源的名称;
第二扫描模块,用于扫描所述程序文件中的代码文件,得到所述代码文件中的图像资源引用信息,其中,所述图像资源引用信息用于指示所述代码文件中所引用的图像资源;
获取模块,用于根据所述图像资源引用信息,获取所述代码文件中引用的图像资源的第二特征信息,其中,所述第二特征信息至少包括所述代码文件中引用的图像资源的名称;
匹配模块,用于分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息;
所述第一特征信息还包括所述图像资源集合中图像资源的属性信息,所述图像资源集合中图像资源的名称和属性信息存储为第一字典,其中,所述图像资源集合中图像资源的名称作为所述第一字典的键,所述图像资源集合中图像资源的属性信息作为所述第一字典的值;
所述第二特征信息还包括所述代码文件中引用的图像资源的属性信息,所述代码文件中引用的图像资源的名称和属性信息存储为第二字典,其中,所述代码文件中引用的图像资源的名称作为所述第二字典的键,所述代码文件中引用的图像资源的属性信息作为所述第二字典的值;
所述匹配模块具体用于:
所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息包括:
遍历所述第一字典中存储的键,并查找所述第二字典中是否存在所述键,若存在,则可以确定所述图像资源为被使用的图像资源;否则确定所述图像资源为未被使用的图像资源,或是去除所述键中的最后一位,并查找第二字典中是否存在去掉一位后的键,若存在则确定所述图像资源为可能使用的图像资源,否则可以继续去除所述键的一位,直至所去除的位数大于或等于所述键的长度的一半,停止比较,并标记所述图像资源为未被使用的图像资源。
7.根据权利要求6所述的装置,其特征在于,所述匹配模块具体用于:
遍历所述图像资源集合中每个图像资源的名称,并与所述代码文件中所引用的图像资源的名称进行匹配;
将所述图像资源集合中的第一目标图像资源确定为未被使用的图像资源;
其中,所述第一目标图像资源包括名称与所述代码文件中所引用的图像资源的名称均不相同的图像资源,或者包括名称中的预设部分与所述代码文件中所引用的图像资源的名称均不相同的图像资源。
8.根据权利要求7所述的装置,其特征在于,所述匹配模块还用于如下至少之一:
将所述图像资源集合中的第二目标图像资源确定为被使用的图像资源;其中,所述第二目标图像资源包括名称与所述代码文件中所引用的图像资源中至少一个图像资源的名称完全相同的图像资源;
将所述图像资源集合中的第三目标图像资源确定为可能被使用的图像资源;其中,所述第三目标图像资源包括名称中的预设部分与所述代码文件中所引用的图像资源中至少一个图像资源的名称相同的图像资源。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
删除模块,用于所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,从所述资源文件中删除第四目标图像资源;其中,所述第四目标图像资源为所述图像资源集合中确定为未被使用的图像资源。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
显示模块,用于所述分别将所述图像资源集合中每个图像资源的名称和所述代码文件中所引用的图像资源的名称进行匹配,得到所述资源文件中图像资源的使用信息之后,显示第五目标图像资源的使用信息和属性信息;
其中,所述第五目标图像资源至少包括所述图像资源集合中确定为可能被使用的图像资源,所述第五目标图像资源的属性信息至少包括所述第五目标图像资源的大小和/或位置。
11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的图像资源处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的图像资源处理方法的步骤。
CN201910258536.6A 2019-04-01 2019-04-01 一种图像资源处理方法及装置 Active CN110059214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910258536.6A CN110059214B (zh) 2019-04-01 2019-04-01 一种图像资源处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910258536.6A CN110059214B (zh) 2019-04-01 2019-04-01 一种图像资源处理方法及装置

Publications (2)

Publication Number Publication Date
CN110059214A CN110059214A (zh) 2019-07-26
CN110059214B true CN110059214B (zh) 2021-12-14

Family

ID=67318044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910258536.6A Active CN110059214B (zh) 2019-04-01 2019-04-01 一种图像资源处理方法及装置

Country Status (1)

Country Link
CN (1) CN110059214B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625242B (zh) * 2020-04-16 2023-08-29 广州方硅信息技术有限公司 项目代码删减方法、装置、电子设备及存储介质
CN112379891B (zh) * 2020-10-09 2023-12-29 广州博冠信息科技有限公司 一种数据处理方法和装置
CN113434139A (zh) * 2021-06-23 2021-09-24 平安普惠企业管理有限公司 一种图像打包的处理方法、装置、服务器及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4133790B2 (ja) * 2003-12-19 2008-08-13 株式会社東芝 画像形成装置と画像形成方法
CN101853174B (zh) * 2009-04-03 2014-03-12 中兴通讯股份有限公司 一种字符串资源定义与调用的同步方法及装置
JP2011244175A (ja) * 2010-05-18 2011-12-01 Sony Corp 電子機器、映像処理方法及びプログラム
US9036925B2 (en) * 2011-04-14 2015-05-19 Qualcomm Incorporated Robust feature matching for visual search
CN103970516B (zh) * 2013-01-30 2015-10-07 腾讯科技(深圳)有限公司 冗余图片删除方法及装置
CN104077593A (zh) * 2013-03-27 2014-10-01 富士通株式会社 图像处理方法和装置
CN104036012B (zh) * 2014-06-24 2017-06-30 中国科学院计算技术研究所 字典学习、视觉词袋特征提取方法及检索系统
CN105979265A (zh) * 2016-05-05 2016-09-28 贵州白山云科技有限公司 图片压缩方法和装置
CN106708565B (zh) * 2016-11-29 2020-08-04 武汉斗鱼网络科技有限公司 一种清除apk中无用图片资源的方法及装置
CN106599151A (zh) * 2016-12-07 2017-04-26 Tcl集团股份有限公司 一种Android工程无用资源并行清理的方法及系统
CN106648638B (zh) * 2016-12-09 2019-08-23 武汉斗鱼网络科技有限公司 一种基于python的R.java文件的优化方法及优化系统
CN108961362A (zh) * 2017-05-27 2018-12-07 阿里巴巴集团控股有限公司 一种网络图片的生成方法与装置
CN109146517A (zh) * 2018-08-02 2019-01-04 惠龙 一种基于在线字典学习数据匹配模型的假货数据识别方法

Also Published As

Publication number Publication date
CN110059214A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN110851209B (zh) 一种数据处理方法、装置、电子设备及存储介质
RU2646334C2 (ru) Управление файлами с помощью заполнителей
CN110059214B (zh) 一种图像资源处理方法及装置
JP6672292B2 (ja) 重複ウェブページを除去する方法および装置
US11074133B2 (en) Method, electronic device and computer readable medium of file management
CN113760839B (zh) 日志数据压缩处理方法、装置、电子设备和存储介质
CN106503003A (zh) 一种可扩展标记语言xml文档的压缩、解压方法和装置
CN110674084A (zh) 用于数据保护的方法、设备和计算机可读存储介质
US6742018B1 (en) System and method for storing and retrieving data by keywords converted into divided long integers
CN112699642B (zh) 复杂医疗文书的索引提取方法及装置、介质及电子设备
CN113760894A (zh) 数据调取方法、装置、电子设备及存储介质
US8463759B2 (en) Method and system for compressing data
US12164573B2 (en) Systems and methods for collecting digital forensic evidence
KR101828466B1 (ko) 파일시스템을 기반으로 하는 저장장치에서 객체기반 스토리지 인터페이스를 제공하는 방법 및 장치
CN114547522B (zh) 一种网页编辑方法、设备、存储介质
JP2020160494A (ja) 情報処理装置、文書管理システム及びプログラム
CN114780494A (zh) 文件处理、文件查找方法、装置、计算机设备及存储介质
CN113505153B (zh) 一种基于iOS系统的备忘录备份方法和相关设备
KR20110023580A (ko) 데이터를 복구하기 위한 방법 및 시스템
JP2005258592A (ja) フォーマット変換装置およびファイル検索装置
JP2016018279A (ja) 文書ファイル検索プログラム、文書ファイル検索装置、文書ファイル検索方法、文書情報出力プログラム、文書情報出力装置及び文書情報出力方法
JP5629438B2 (ja) ファイル管理装置及びその制御方法
CN111444194A (zh) 一种块链式账本中索引的清除方法、装置及设备
CN115168105A (zh) 一种恢复Windows删除图片的缩略图的方法以及相关装置
CN111666267A (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
GR01 Patent grant
GR01 Patent grant