CN111767417A - 应用图片的管理方法、装置、设备及存储介质 - Google Patents
应用图片的管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111767417A CN111767417A CN201910661640.XA CN201910661640A CN111767417A CN 111767417 A CN111767417 A CN 111767417A CN 201910661640 A CN201910661640 A CN 201910661640A CN 111767417 A CN111767417 A CN 111767417A
- Authority
- CN
- China
- Prior art keywords
- picture
- pictures
- installation package
- set file
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 42
- 238000003860 storage Methods 0.000 title claims abstract description 31
- 238000009434 installation Methods 0.000 claims abstract description 100
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000015654 memory Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 claims description 10
- 238000012800 visualization Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 18
- 238000007906 compression Methods 0.000 description 16
- 230000006835 compression Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种应用图片的管理方法、装置、设备及存储介质,该方法,包括:若应用程序的安装包中存在不通过网络下载的图片,则将所述不通过网络下载的图片作为待选图片;将所述待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;从所述图片集文件中提取出第一目标图片和第二目标图片;根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型;根据图片类型,对所述图片集文件中的图片进行不同方式的存储。本发明可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
Description
技术领域
本发明涉及终端技术领域,尤其涉及一种应用图片的管理方法、装置、设备及存储介质。
背景技术
随着终端技术的发展,终端中可以加载越来越多的应用程序(Appliction,APP)。应用程序的安装包版本会不断地更新,每次更新版本,应用程序的安装包中就会新增图片文件,而不断增加的图片文件会增加应用程序的安装包的大小。
目前,一般是将应用程序中的图片放入Asset Catalog中,然后通过AppThinning功能对应用程序的安装包进行优化,以减小安装包的大小。
但是,Xocde在编译打包的时候会对Asset Catalog中的PNG图片进行重新压缩,从而将无损压缩过程中PNG图片已删除的元数据重新添加回来。这种图片管理方式会使得图片压缩的效果大打折扣,使得图片文件在应用程序的安装包中占据较大的比例。
发明内容
本发明提供一种应用图片的管理方法、装置、设备及存储介质,可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
第一方面,本发明实施例提供一种应用图片的管理方法,包括:
若应用程序的安装包中存在不通过网络下载的图片,则将所述不通过网络下载的图片作为待选图片;
将所述待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;
从所述图片集文件中提取出第一目标图片和第二目标图片;
根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型;
根据图片类型,对所述图片集文件中的图片进行不同方式的存储。
在一种可能的设计中,从所述图片集文件中提取出第一目标图片和第二目标图片,包括:
从所述图片集文件中提取出2倍屏图片作为所述第一目标图片,提取出3倍屏图片作为所述第二目标图片。
在一种可能的设计中,根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型,包括:
根据所述第一目标图片和所述第二目标图片,确定划分图片的临界值;
根据所述临界值,将所述图片集文件中图片划分为第一类图片和第二类图片。
在一种可能的设计中,根据图片类型,对所述图片集文件中的图片进行不同方式的存储,包括:
将所述第一类图片从所述图片文件集中取出,并判断是否使用alpha通道进行图片格式转换;
若使用alpha通道,则将所述第一类图片按照PNG格式存储到Bundle中;
若未使用alpha通道,则将所述第一类图片按照JPG格式存储到Bundle中。
在一种可能的设计中,根据图片类型,对所述图片集文件中的图片进行不同方式的存储,包括:
将所述第二类图片保留在所述图片文件集中,并使用AppThinning进行优化处理。
在一种可能的设计中,还包括:
若应用程序的安装包中存在通过网络下载的图片,则将所述通过网络下载的图片上传至服务器的图片库中,并在所述应用程序安装包中保存对应的图片下载链接。
在一种可能的设计中,还包括:
通过可视化工具对所述应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。
第二方面,本发明实施例提供一种应用图片的管理装置,包括:
预选模块,用于在应用程序的安装包中存在不通过网络下载的图片时,则将所述不通过网络下载的图片作为待选图片;
加载模块,用于将所述待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;
提取模块,用于从所述图片集文件中提取出第一目标图片和第二目标图片;
划分模块,用于根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型;
存储模块,用于根据图片类型,对所述图片集文件中的图片进行不同方式的存储。
在一种可能的设计中,所述提取模块,具体用于:
从所述图片集文件中提取出2倍屏图片作为所述第一目标图片,提取出3倍屏图片作为所述第二目标图片。
在一种可能的设计中,所述划分模块,具体用于:
根据所述第一目标图片和所述第二目标图片,确定划分图片的临界值;
根据所述临界值,将所述图片集文件中图片划分为第一类图片和第二类图片。
在一种可能的设计中,所述存储模块,具体用于:
将所述第一类图片从所述图片文件集中取出,并判断是否使用alpha通道进行图片格式转换;
若使用alpha通道,则将所述第一类图片按照PNG格式存储到Bundle中;
若未使用alpha通道,则将所述第一类图片按照JPG格式存储到Bundle中。
在一种可能的设计中,所述存储模块,具体用于:
将所述第二类图片保留在所述图片文件集中,并使用AppThinning进行优化处理。
在一种可能的设计中,还包括:上传模块,用于在应用程序的安装包中存在通过网络下载的图片时,将所述通过网络下载的图片上传至服务器的图片库中,并在所述应用程序安装包中保存对应的图片下载链接。
在一种可能的设计中,还包括:编辑模块,用于通过可视化工具对所述应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。
第三方面,本发明实施例提供一种应用图片的管理设备,包括:存储器和处理器,存储器中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的应用图片的管理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述的应用图片的管理方法。
第五方面,本发明实施例提供一种程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得服务器执行第一方面中任一所述的应用图片的管理方法。
本发明提供一种应用图片的管理方法、装置、设备及存储介质,通过若应用程序的安装包中存在不通过网络下载的图片,则将所述不通过网络下载的图片作为待选图片;将所述待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;从所述图片集文件中提取出第一目标图片和第二目标图片;根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型;根据图片类型,对所述图片集文件中的图片进行不同方式的存储。本发明可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
附图说明
图1为本发明一应用场景的原理示意图;
图2为本发明实施例一提供的应用图片的管理方法的流程图;
图3为本发明实施例二提供的应用图片的管理方法的流程图;
图4为本发明实施例提供的可视化工具的流程示意图;
图5为本发明实施例三提供的应用图片的管理装置的结构示意图;
图6为本发明实施例四提供的应用图片的管理装置的结构示意图;
图7为本发明实施例五提供的应用图片的管理设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解:
1)iOS:苹果公司为其公司移动设备开发的操作系统;
2)App:Appliction的简称,手机上的应用程序。
3)Xcode:是苹果公司向开发人员提供的集成开发环境,用于开发macOS、iOS、WatchOS和tvOS的应用程序。
4)App Thinning:指的是App store和操作系统在安装iOS或者watchOS的app的时候通过一些列的优化,尽可能减少安装包的大小,使得app以最小的合适的大小被安装到用户的设备上。而这个过程包括了三个过程:slicing,bitcode,and on-demand resources。
5)Asset Catalog:是iOS7推出的一个图像资源管理工具,为开发者提供很大方便。可以展示支持多种图片格式,方便App图标和启动页图片设置,和展示不同分辨率图简练深受开发喜爱。
6)Assets.car:是Asset Catalog存放图片整合的集合。
7)模块:可重复使用并且可以和其他对象进行交互的对象,这里以静态Framework的形式呈现,由于功能业务的多样话,按照功能和业务的划分,可以将组件分为,提供基础能力的和公共能力的基础组件,比如网络请求,数据解析等;面向业务需求开发的业务组件,通过依赖一个或者多个基础组件完成需求的开发。
8)PNG:(Portable Network Graphics)是一种无损压缩的位图图形格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。PNG的开发目标是改善并取代GIF作为适合网络传输的格式而不需专利许可,所以被广泛应用于互联网及其他方面上。
9)CgBI:是Apple对PNG图像格式的专有扩展。
10)JPEG:(Joint Photographic Experts Group)是一种针对照片影像而广泛使用的有损压缩标准方法。
随着终端技术的发展,终端中可以加载越来越多的应用程序(Appliction,APP),图片作为资源文件已经成为了一个App安装包组成的必不可少的部分。应用程序的安装包版本会不断地更新,每次更新版本,应用程序的安装包中就会新增图片文件,而不断增加的图片文件会增加应用程序的安装包的大小。目前,一般是将应用程序中的图片放入AssetCatalog中,然后通过App Thinning功能对应用程序的安装包进行优化,以减小安装包的大小。将图片放入Asset Catalogs,作为一个image Set Type,扩展名为.imageset,支持的图片格式为HEIF、.png、.jpg、.pdf。在imageSet中可以会放入2倍和3倍图提供给现在有2倍屏和3倍屏使用。iOS 9之后引入AppThinning的支持。在Xcode中选择好目标并且使用AssetCatalog提供多分辨率的图片资源,将打包好的App上传至iTunes Connect,App Store将会为上传的App归档创建不同的“App变量”,App的变量设置可以在Xcode中设置。经过Slicing后的App已经是更具当前设备的分辨率和CPU架构进行了拆分,只会下发当前设备需要的资源文件。如果App最低支持版本已经是iOS9之后还可以使用On-Demand Resources。要使用App Thinning图片必须放入Asset Catalog中才能生效。Apple几乎创建了一个很完美的管理图片的方式,为了获取到更小的图片,通常会对这部分无损压缩,通过删除png图片中无用的元数据,减少图片的大小,通过测试无损压缩一般可以优化25%~30%,使用适当的有损压缩可以继续优化到70%左右。但是,Xocde在编译打包的时候会对Asset Catalog中的PNG图片进行重新压缩,从而将无损压缩过程中PNG图片已删除的元数据重新添加回来,将png格式转换成Apple特有的CgBI的图片格式。这样的处理是为了Apple底层解码框架在解码图片时CPU和GPU的速度最快。刚刚提到的无损压缩的效果是无效的。同时,设计师在给研发切图之前,一般会通过工具对切图进行无损压缩。研发拿到切图后在保住切图能被设计师接受的前提下,为了优化包大小又会做有损压缩。然后,通过对比本地工程的图片大小,安装包中放入Assets.car中图片的大小,Assets.car中的图片是本地图片的2.5~3.5倍。数据通过100张图片取样得出,其中可能有损压缩的算法不一和图片的颜色空间不一前后会有差别,但是不争的事实,放入Assets.car中文件确实比本地工程的大。综上,将图片放入Asset Catalog中,不能有效的使用无损压缩优化图片。经常会给设计和研发错觉是已经对图片左右优化了,却不知是无效或大打折扣的优化,使得图片文件在应用程序的安装包中占据较大的比例。
针对上述技术问题,本发明提供一种应用图片的管理方法、装置、设备及存储介质,可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。图1为本发明一应用场景的原理示意图,如图1所示,根据图片使用的场景,可以划分出可以通过网络下载的图片和不通过网络下载的图片。图片划分取决用户体验,使用网络下载看App具体针对的用户群体。可以通过网络下载的图片,在安装包中只需要存储一个网络链接地址。因此,将这部分图片上传至服务器的图片库中,并在应用程序安装包中保存对应的图片下载链接。对于不能使用网络下载的图片,需要将图片放置于应用程序的安装包中,将是本实施例后续步骤需要处理的图片,将这部分图片称为待选图片。一个App根据业务的不同可以划分为很多个模块,每个模块可以单独创建一个xcassets后缀的Asset Catalog文件,用于存放待选图片。然后,将所有的待选图片全部放入Asset Catalog中,为了避免各个模块在Xcode编译合并AssetCatalog的时候产生冲突,添加进入的待选图片需要添加前缀。在将所有的待选图片放入Asset Catalog的时候,输出.ipa后缀的安装包,这里的安装包是没有上传到App Store的,所以不会通过App Thinning的slicing优化,获取Assets.car文件,Assets.car是所有的放入Asset Catalog中在Xcode编译的时候合并出的一个存放图片的集合。然后,模拟AppThinning的Slicing的实现,拆分Assets.car中2倍屏和3倍屏使用的图片并且计算图片大小总和。放入Asset Catalog的每个图片都会将2倍和3倍放入一个image set中,同时会生成一个Content.json文件来管理图片。通过分析Content.json可以将本地工程中2倍和3倍屏手机的本地工程的大小。根据上述步骤,得到本地图片和用户实际安装图片大小的总和。可以按照每个App的图片组成的不同和图片颜色空间的不同,划分出一个临界值,也可以人为方式设置一个划分的临界值。根据临界值,将图片集文件中图片划分为第一类图片和第二类图片。第一类图片是指文件存储空间大的图片。这部分图片在整体的图片数量占比不大,不过在总大小的占比很大,不能直接放入Asset Catalog中。第二类图片是指文件存储空间小的图片。这部分图片在整体的图片数量占比大,不过在总大小的占比很小,这部分图片继续放在Assets Catalog中。可以使用App Thinning Slicing的分发。因为这部分图片本身很小,即使受Xcode的重新压缩增大的影响对比图片整体的占App包大小占比也不增大(相比第一类图片)。临界值可以是根据文件大小人为设置的,也可以通过2倍屏下对比来设置临界值。具体地为,优化后图片总大小=本地大图的总大小(使用的3倍图)+Assets.car中小图总大小。让优化后图片总大小取值为最小,即为第一类图片和第二类图片划分的临界值。对于第一类图片,若没有使用alpha通道转换成JPG图片格式,让图片的压缩比更高,放入Bundle中。若使用alpha通道的继续使用PNG图片格式,放入Bundle中。并且这部分图片只保留3倍图,提供使用。这样优化后不会受Xcode重新压缩的影响将已经无损压缩的图片还原,达到优化的目的。对于第二类图片,继续放在Assets Catalog中,使用App ThinningSlicing的分发,因为这部分图片本身很小,即使受Xcode的重新压缩增大的影响对比图片整体的占App包大小占比也不增大。
应用上述方法可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例一提供的应用图片的管理方法的流程图,如图2所示,本实施例中的方法可以包括:
S101、若应用程序的安装包中存在不通过网络下载的图片,则将不通过网络下载的图片作为待选图片。
本实施例中,根据图片使用的场景,可以划分出可以通过网络下载的图片和不通过网络下载的图片。图片划分取决用户体验,使用网络下载看App具体针对的用户群体。可以通过网络下载的图片,在安装包中只需要存储一个网络链接地址,在使用时下载即可。对于这部分图片的处理,将在后续中详细介绍。不能使用网络下载的图片,需要将图片放置于应用程序的安装包中,将是本实施例后续步骤需要处理的图片,将这部分图片称为待选图片。一个App根据业务的不同可以划分为很多个模块,每个模块可以单独创建一个xcassets后缀的Asset Catalog文件,用于存放待选图片。然后,将所有的待选图片全部放入AssetCatalog中,为了避免各个模块在Xcode编译合并Asset Catalog的时候产生冲突,添加进入的待选图片需要添加前缀。
S102、将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件。
本实施例中,在将所有的待选图片放入Asset Catalog的时候,输出.ipa后缀的安装包,这里的安装包是没有上传到App Store的,所以不会通过App Thinning的slicing优化,获取Assets.car文件,Assets.car是所有的放入Asset Catalog中在Xcode编译的时候合并出的一个存放图片的集合。
S103、从图片集文件中提取出第一目标图片和第二目标图片。
本实施例中,从图片集文件中提取出2倍屏图片作为第一目标图片,提取出3倍屏图片作为第二目标图片。
具体地,模拟App Thinning的Slicing的实现,拆分Assets.car中2倍屏和3倍屏使用的图片并且计算图片大小总和。放入Asset Catalog的每个图片都会将2倍和3倍放入一个image set中,同时会生成一个Content.json文件来管理图片。通过分析Content.json可以将本地工程中2倍和3倍屏手机的本地工程的大小。
S104、根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型。
本实施例中,根据第一目标图片和第二目标图片,确定划分图片的临界值;根据临界值,将图片集文件中图片划分为第一类图片和第二类图片。
具体地,根据上述步骤,得到本地图片和用户实际安装图片大小的总和。可以按照每个App的图片组成的不同和图片颜色空间的不同,划分出一个临界值,也可以人为方式设置一个划分的临界值。根据临界值,将图片集文件中图片划分为第一类图片和第二类图片。第一类图片是指文件存储空间大的图片。这部分图片在整体的图片数量占比不大,不过在总大小的占比很大,不能直接放入Asset Catalog中。第二类图片是指文件存储空间小的图片。这部分图片在整体的图片数量占比大,不过在总大小的占比很小,这部分图片继续放在Assets Catalog中。可以使用App Thinning Slicing的分发。因为这部分图片本身很小,即使受Xcode的重新压缩增大的影响对比图片整体的占App包大小占比也不增大(相比第一类图片)。临界值可以是根据文件大小人为设置的,也可以通过2倍屏下对比来设置临界值。具体地为,优化后图片总大小=本地大图的总大小(使用的3倍图)+Assets.car中小图总大小。让优化后图片总大小取值为最小,即为第一类图片和第二类图片划分的临界值。
S105、根据图片类型,对图片集文件中的图片进行不同方式的存储。
本实施例中,将第一类图片从图片文件集中取出,并判断是否使用alpha通道进行图片格式转换;若使用alpha通道,则将第一类图片按照PNG格式存储到Bundle中;若未使用alpha通道,则将第一类图片按照JPG格式存储到Bundle中。可选地,将第二类图片保留在图片文件集中,并使用AppThinning进行优化处理。
具体地,对于第一类图片,若没有使用alpha通道转换成JPG图片格式,让图片的压缩比更高,放入Bundle中。若使用alpha通道的继续使用PNG图片格式,放入Bundle中。并且这部分图片只保留3倍图,提供使用。这样优化后不会受Xcode重新压缩的影响将已经无损压缩的图片还原,达到优化的目的。
对于第二类图片,继续放在Assets Catalog中,使用App ThinningSlicing的分发,因为这部分图片本身很小,即使受Xcode的重新压缩增大的影响对比图片整体的占App包大小占比也不增大。
本实施例,通过若应用程序的安装包中存在不通过网络下载的图片,则将不通过网络下载的图片作为待选图片;将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;从图片集文件中提取出第一目标图片和第二目标图片;根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型;根据图片类型,对图片集文件中的图片进行不同方式的存储。本发明可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
图3为本发明实施例二提供的应用图片的管理方法的流程图,如图3所示,本实施例中的方法可以包括:
S201、若应用程序的安装包中存在不通过网络下载的图片,则将不通过网络下载的图片作为待选图片。
S202、将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件。
S203、从图片集文件中提取出第一目标图片和第二目标图片。
S204、根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型。
S205、根据图片类型,对图片集文件中的图片进行不同方式的存储。
本实施例中,步骤S201~步骤S205的具体实现过程和技术原理请参见图2所示的方法中步骤S101~步骤S105中的相关描述,此处不再赘述。
S206、若应用程序的安装包中存在通过网络下载的图片,则将通过网络下载的图片上传至服务器的图片库中,并在应用程序安装包中保存对应的图片下载链接。
本实施例中,可以通过网络下载的图片,在安装包中只需要存储一个网络链接地址。因此,将这部分图片上传至服务器的图片库中,并在应用程序安装包中保存对应的图片下载链接。
S207、通过可视化工具对应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。
本实施例中,随着应用程序版本的迭代,本地图片的增删,这样的对比工作让人力去完成,浪费人力,而且效率不高。定制开发可视化工具让整体的流程更加方便快捷。图4为本发明实施例提供的可视化工具的流程示意图,如图4所示,可以通过模块和全部搜索图片,图片信息包括缩略图(大图)、存放位置、大小、放入ipa的大小、使用模块。删除图片操作,删除图片时会周知对应的模块的研发人员,授权删除,如果使用的模块研发人员统一删除后,执行删除图片操作。新增图片操作,优先经过统一的压缩优化,根据是否走网络下载,执行不同的操作,不能网络下载的图片,会额外增加一个图片驱去重逻辑,包括大小对比、部分MD5签名比较、全MD5签名比较、字节到字节的比较。四个步骤判断是否有对应的重复图片,如果有新增图片已经添加,使用之前添加的图片。监控工作在测试阶段,生成ipa包以后,脚本自动化分析ipa,如果有不合格的图片时,邮件周知对象的研发人员,授权更改图片位置。
本实施例,通过若应用程序的安装包中存在不通过网络下载的图片,则将不通过网络下载的图片作为待选图片;将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;从图片集文件中提取出第一目标图片和第二目标图片;根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型;根据图片类型,对图片集文件中的图片进行不同方式的存储。本发明可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
另外,本实施例还可以将通过网络下载的图片上传至服务器的图片库中,并在应用程序安装包中保存对应的图片下载链接。还可以通过可视化工具对应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。从而实现对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
图5为本发明实施例三提供的应用图片的管理装置的结构示意图,如图5所示,本实施例的应用图片的管理装置可以包括:
预选模块31,用于在应用程序的安装包中存在不通过网络下载的图片时,则将不通过网络下载的图片作为待选图片;
加载模块32,用于将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;
提取模块33,用于从图片集文件中提取出第一目标图片和第二目标图片;
划分模块34,用于根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型;
存储模块35,用于根据图片类型,对图片集文件中的图片进行不同方式的存储。
在一种可能的设计中,提取模块33,具体用于:
从图片集文件中提取出2倍屏图片作为第一目标图片,提取出3倍屏图片作为第二目标图片。
在一种可能的设计中,划分模块34,具体用于:
根据第一目标图片和第二目标图片,确定划分图片的临界值;
根据临界值,将图片集文件中图片划分为第一类图片和第二类图片。
在一种可能的设计中,存储模块35,具体用于:
将第一类图片从图片文件集中取出,并判断是否使用alpha通道进行图片格式转换;
若使用alpha通道,则将第一类图片按照PNG格式存储到Bundle中;
若未使用alpha通道,则将第一类图片按照JPG格式存储到Bundle中。
在一种可能的设计中,存储模块35,具体用于:
将第二类图片保留在图片文件集中,并使用AppThinning进行优化处理。
本实施例的应用图片的管理装置,可以执行图2所示方法中的技术方案,其具体实现过程和技术原理参见图2所示方法中的相关描述,此处不再赘述。
本实施例,通过若应用程序的安装包中存在不通过网络下载的图片,则将不通过网络下载的图片作为待选图片;将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;从图片集文件中提取出第一目标图片和第二目标图片;根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型;根据图片类型,对图片集文件中的图片进行不同方式的存储。本发明可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
图6为本发明实施例四提供的应用图片的管理装置的结构示意图,如图6所示,本实施例的应用图片的管理装置在图5所示装置的基础上,还可以包括:
上传模块36,用于在应用程序的安装包中存在通过网络下载的图片时,将通过网络下载的图片上传至服务器的图片库中,并在应用程序安装包中保存对应的图片下载链接。
在一种可能的设计中,还包括:编辑模块37,用于通过可视化工具对应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。
本实施例的应用图片的管理装置,可以执行图2、图3所示方法中的技术方案,其具体实现过程和技术原理参见图2、图3所示方法中的相关描述,此处不再赘述。
本实施例,通过若应用程序的安装包中存在不通过网络下载的图片,则将不通过网络下载的图片作为待选图片;将待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;从图片集文件中提取出第一目标图片和第二目标图片;根据第一目标图片和第二目标图片,将图片集文件的图片划分为不同类型;根据图片类型,对图片集文件中的图片进行不同方式的存储。本发明可以对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
另外,本实施例还可以将通过网络下载的图片上传至服务器的图片库中,并在应用程序安装包中保存对应的图片下载链接。还可以通过可视化工具对应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。从而实现对应用程序的安装包中的图片文件进行有效地管理,减少图片文件在在应用程序的安装包中占据的比例,减小应用程序的安装包大小。
图7为本发明实施例五提供的应用图片的管理设备的结构示意图,如图7所示,本实施例的应用图片的管理设备40可以包括:处理器41和存储器42。
存储器42,用于存储程序;存储器42,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器42用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器42中。并且上述的计算机程序、计算机指令、数据等可以被处理器41调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器42中。并且上述的计算机程序、计算机指令、数据等可以被处理器41调用。
处理器41,用于执行存储器42存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
具体可以参见前面方法实施例中的相关描述。
处理器41和存储器42可以是独立结构,也可以是集成在一起的集成结构。当处理器41和存储器42是独立结构时,存储器42、处理器41可以通过总线43耦合连接。
本实施例的应用图片的管理设备可以执行图2、图3所示方法中的技术方案,其具体实现过程和技术原理参见图2、图3所示方法中的相关描述,此处不再赘述。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
本申请还提供一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器实施上述本发明实施例任一的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种应用图片的管理方法,其特征在于,包括:
若应用程序的安装包中存在不通过网络下载的图片,则将所述不通过网络下载的图片作为待选图片;
将所述待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;
从所述图片集文件中提取出第一目标图片和第二目标图片;
根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型;
根据图片类型,对所述图片集文件中的图片进行不同方式的存储。
2.根据权利要求1所述的方法,其特征在于,从所述图片集文件中提取出第一目标图片和第二目标图片,包括:
从所述图片集文件中提取出2倍屏图片作为所述第一目标图片,提取出3倍屏图片作为所述第二目标图片。
3.根据权利要求1所述的方法,其特征在于,根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型,包括:
根据所述第一目标图片和所述第二目标图片,确定划分图片的临界值;
根据所述临界值,将所述图片集文件中图片划分为第一类图片和第二类图片。
4.根据权利要求3所述的方法,其特征在于,根据图片类型,对所述图片集文件中的图片进行不同方式的存储,包括:
将所述第一类图片从所述图片文件集中取出,并判断是否使用alpha通道进行图片格式转换;
若使用alpha通道,则将所述第一类图片按照PNG格式存储到Bundle中;
若未使用alpha通道,则将所述第一类图片按照JPG格式存储到Bundle中。
5.根据权利要求3所述的方法,其特征在于,根据图片类型,对所述图片集文件中的图片进行不同方式的存储,包括:
将所述第二类图片保留在所述图片文件集中,并使用AppThinning进行优化处理。
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
若应用程序的安装包中存在通过网络下载的图片,则将所述通过网络下载的图片上传至服务器的图片库中,并在所述应用程序安装包中保存对应的图片下载链接。
7.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
通过可视化工具对所述应用程序的安装包中的图片文件进行图片新增、图片删除、图片重新压缩、图片搜索中的任一或者任多操作。
8.一种应用图片的管理装置,其特征在于,包括:
预选模块,用于在应用程序的安装包中存在不通过网络下载的图片时,则将所述不通过网络下载的图片作为待选图片;
加载模块,用于将所述待选图片加载到图像资源管理工具中,得到初始安装包的图片集文件;
提取模块,用于从所述图片集文件中提取出第一目标图片和第二目标图片;
划分模块,用于根据所述第一目标图片和所述第二目标图片,将所述图片集文件的图片划分为不同类型;
存储模块,用于根据图片类型,对所述图片集文件中的图片进行不同方式的存储。
9.一种应用图片的管理设备,其特征在于,包括:存储器、处理器,存储器中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7中任一项所述的应用图片的管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述的应用图片的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910661640.XA CN111767417A (zh) | 2019-07-22 | 2019-07-22 | 应用图片的管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910661640.XA CN111767417A (zh) | 2019-07-22 | 2019-07-22 | 应用图片的管理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111767417A true CN111767417A (zh) | 2020-10-13 |
Family
ID=72718351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910661640.XA Pending CN111767417A (zh) | 2019-07-22 | 2019-07-22 | 应用图片的管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767417A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947812A (zh) * | 2021-03-04 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 一种应用程序桌面图标更新方法和装置 |
CN114546522A (zh) * | 2022-02-07 | 2022-05-27 | 北京百度网讯科技有限公司 | 应用的图片配置方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160357530A1 (en) * | 2015-06-05 | 2016-12-08 | Apple Inc. | Method and apparatus for intermediate representation of applications |
CN108415708A (zh) * | 2018-01-19 | 2018-08-17 | 五八有限公司 | 应用程序安装包大小的处理方法、装置、设备和存储介质 |
-
2019
- 2019-07-22 CN CN201910661640.XA patent/CN111767417A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160357530A1 (en) * | 2015-06-05 | 2016-12-08 | Apple Inc. | Method and apparatus for intermediate representation of applications |
CN108415708A (zh) * | 2018-01-19 | 2018-08-17 | 五八有限公司 | 应用程序安装包大小的处理方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
杭城小刘: "iOS 瘦身之道", pages 1 - 29, Retrieved from the Internet <URL:https://segmentfault.com/a/1190000019203452?utm_source=sf-related> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947812A (zh) * | 2021-03-04 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 一种应用程序桌面图标更新方法和装置 |
CN114546522A (zh) * | 2022-02-07 | 2022-05-27 | 北京百度网讯科技有限公司 | 应用的图片配置方法、装置、电子设备及存储介质 |
CN114546522B (zh) * | 2022-02-07 | 2023-12-12 | 北京百度网讯科技有限公司 | 应用的图片配置方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105760199B (zh) | 一种应用资源加载方法及其设备 | |
CN104991793A (zh) | 一种用于应用程序分包的方法、装置以及系统 | |
CN105573734B (zh) | 一种用于提供sdk文件的方法与设备 | |
CN106708548A (zh) | 程序升级方法和终端设备 | |
CN103366341A (zh) | 一种图像自适应分辨率显示的方法及装置 | |
CN111767417A (zh) | 应用图片的管理方法、装置、设备及存储介质 | |
CN113127361A (zh) | 应用程序的开发方法、装置、电子设备和存储介质 | |
CN112965761A (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN112149035A (zh) | 网站静态资源处理方法及装置 | |
CN111045698A (zh) | 冗余图片的删除方法、装置、电子设备及存储介质 | |
CN110990356A (zh) | 一种用于逻辑镜像的实时自动扩容方法和系统 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN114138558A (zh) | 一种对象存储方法、装置、电子设备和存储介质 | |
CN112214250A (zh) | 一种应用程序组件的加载方法和装置 | |
CN106843956B (zh) | 系统固件包的生成方法及装置 | |
CN111008934B (zh) | 一种场景构建方法、装置、设备及存储介质 | |
CN110580242A (zh) | 一种网盘应用中图片存储及显示方法、系统 | |
CN109617708B (zh) | 一种埋点日志的压缩方法、设备及系统 | |
CN115080114B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN113797554B (zh) | 游戏引擎资源的处理方法、装置、存储介质及电子设备 | |
CN108008984A (zh) | 一种资源文件下载更新方法及装置 | |
US8811756B2 (en) | Image compression | |
US10362082B2 (en) | Method for streaming-based distributed media data processing | |
CN114090070A (zh) | 应用程序安装包文件处理方法及电子设备 | |
US11379653B2 (en) | Rendering method for on-demand loading of PDF file on network |
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 |