CN108519880A - 一种客户端应用程序安装包深度压缩方法 - Google Patents
一种客户端应用程序安装包深度压缩方法 Download PDFInfo
- Publication number
- CN108519880A CN108519880A CN201810209608.3A CN201810209608A CN108519880A CN 108519880 A CN108519880 A CN 108519880A CN 201810209608 A CN201810209608 A CN 201810209608A CN 108519880 A CN108519880 A CN 108519880A
- Authority
- CN
- China
- Prior art keywords
- picture
- installation kit
- client application
- compression method
- compression
- 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.)
- Withdrawn
Links
- 238000007906 compression Methods 0.000 title claims abstract description 36
- 230000006835 compression Effects 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000009434 installation Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000006837 decompression Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 5
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000013519 translation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
- G06F8/4435—Detection or removal of dead or redundant code
-
- 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)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种客户端应用程序安装包深度压缩方法,包括以下步骤(A)删除冗余;(B)优化图片;(C)缩简名称;(D)压缩代码。本发明客户端应用程序安装包深度压缩方法,在客户端应用程序完成开发后,不依赖源程序,不依赖开发编译环境,对安装包进行扫描分析,然后删除重复或没有使用的资源文件,对于图片进行格式转换或压缩处理,缩短冗长的资源路径和名称,压缩代码包,从而实现减小客户端应用程序安装包的体积,减少下载消耗的流量和安装所需的时间,提高用户体验,降低开发和维护成本。
Description
技术领域
本发明涉及程序安装包的压缩技术,特别是一种客户端应用程序安装包深度压缩方法。
背景技术
客户端App发展到一定阶段,随着需求的增加、需求的频繁变更,以及移动设备碎化化兼容,不断引入新的业务逻辑代码、图片资源和第三方Sdk等,安装包会越来越大,用户下载需要耗费更多的流量,安装需要更多时间,增加下载安装过程中的失败风险,导致降低新用户的下载安装兴趣,提高各个渠道发布的成本,降低App启动速度,传统的方法是在应用程序开发阶段,简单地对部分较大尺寸的图片资源进行压缩处理,近乎手工重复执行,降低开发和维护效率,并且依赖源程序和编译环境。
发明内容
本发明主要针对这种现状,提出一种不依赖源程序的客户端应用程序安装包深度压缩方法。
本发明采用的技术方案是:
一种客户端应用程序安装包深度压缩方法,包括以下步骤
(A)删除冗余:解压应用程序安装包,扫描已解压的目录,定位重复与未使用的资源文件并删除;
(B)优化图片:扫描安装包解压目录的图片内容,根据图片类型对未压缩的图片进行转换或压缩处理;
(C)缩简名称:扫描安装包解压目录,根据已配置的重命名规划,缩短原本冗长的资源路径和名称;
(D)压缩代码:扫描安装包解压目录,压缩原始的So文件,然后嵌入中间层程序,生成新的So文件。
所述步骤(D)压缩代码采用Brotli压缩算法压缩原始的So文件。
所述步骤(B)优化图片包括以下步骤:
(B1)扫描图片类型和内容,确定可压缩图片和无需压缩图片;
(B2)纯色的图片采用DrawableXml来替换,用Xml描绘出来,再传到底层交由Gpu渲染生成Bitmap;
(B3)如果不需要透明度的图片,使用Jpg代替Png,否则使用WebP代替Png;
(B4)Jpg采用Brotli压缩算法进行压缩;
(B5)将无需压缩和已压缩的图片合并,打包成新的图片安装包。
所述步骤(A)删除冗余使用Scan Duplicate Resources扫描已解压的目录。
所述步骤(A)删除冗余通过弹出删除确认框,点击删除后清除冗余资源。
本发明的有益效果:本发明客户端应用程序安装包深度压缩方法,在客户端应用程序完成开发后,不依赖源程序,不依赖开发编译环境,对安装包进行扫描分析,然后删除重复或没有使用的资源文件,对于图片进行格式转换或压缩处理,缩短冗长的资源路径和名称,压缩代码包,从而实现减小客户端应用程序安装包的体积,减少下载消耗的流量和安装所需的时间,提高用户体验,降低开发和维护成本。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明客户端应用程序安装包深度压缩方法的流程图;
图2是本发明的方图片优化流程图。
具体实施方式
如图1所示,为本发明的一种客户端应用程序安装包深度压缩方法,包括以下步骤
(A)删除冗余:解压应用程序安装包,使用ScanDuplicateResources扫描已解压的目录,定位重复、没有使用的资源文件,弹出删除确认框,点击删除后清除冗余资源;
(B)优化图片:扫描安装包解压目录的图片内容,确定图片类型,是否已压缩处理等,再决定是否格式转换或压缩处理,详细请看图2的“图片优化流程图”;
(C)缩简名称:扫描安装包解压目录,根据已配置的重命名规划,缩短原本冗长的资源路径和名称,比如将“res/drawable/nenglong”缩简为“r/d/n”;
(D)压缩代码:扫描安装包解压目录,采用Brotli压缩算法压缩原始的So文件,然后嵌入中间层程序,生成新的So文件。
如图2是步骤B的图片优化流程图:包括以下步骤
(B1)扫描图片类型和内容,确定可压缩图片和无需压缩图片;
(B2)纯色的图片采用DrawableXml来替换,用Xml描绘出来,再传到底层交由Gpu渲染生成Bitmap;
(B3)如果不需要透明度的图片,使用Jpg代替Png,否则使用WebP代替Png;
(B4)Jpg采用Brotli压缩算法进行压缩;
(B5)将无需压缩和已压缩的图片合并,打包成新的图片安装包。
对比传统在应用程序开发阶段,简单地对部分较大尺寸的图片资源进行压缩处理,压缩率低,手开发成本高,而采用不依赖源程序的客户端应用程序安装包深度压缩方法,更有效地减小客户端应用程序安装包的体积,减少下载消耗的流量和安装所需的时间,提高用户体验。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
Claims (5)
1.一种客户端应用程序安装包深度压缩方法,其特征在于:包括以下步骤
(A)删除冗余:解压应用程序安装包,扫描已解压的目录,定位重复与未使用的资源文件并删除;
(B)优化图片:扫描安装包解压目录的图片内容,根据图片类型对未压缩的图片进行转换或压缩处理;
(C)缩简名称:扫描安装包解压目录,根据已配置的重命名规划,缩短原本冗长的资源路径和名称;
(D)压缩代码:扫描安装包解压目录,压缩原始的So文件,然后嵌入中间层程序,生成新的So文件。
2.根据权利要求1所述的一种客户端应用程序安装包深度压缩方法,其特征在于:所述步骤(D)压缩代码采用Brotli压缩算法压缩原始的So文件。
3.根据权利要求1所述的一种客户端应用程序安装包深度压缩方法,其特征在于,所述步骤(B)优化图片包括以下步骤:
(B1)扫描图片类型和内容,确定可压缩图片和无需压缩图片;
(B2)纯色的图片采用DrawableXml来替换,用Xml描绘出来,再传到底层交由Gpu渲染生成Bitmap;
(B3)如果不需要透明度的图片,使用Jpg代替Png,否则使用WebP代替Png;
(B4)Jpg采用Brotli压缩算法进行压缩;
(B5)将无需压缩和已压缩的图片合并,打包成新的图片安装包。
4.根据权利要求1所述的一种客户端应用程序安装包深度压缩方法,其特征在于:所述步骤(A)删除冗余使用Scan Duplicate Resources扫描已解压的目录。
5.根据权利要求1所述的一种客户端应用程序安装包深度压缩方法,其特征在于:所述步骤(A)删除冗余通过弹出删除确认框,点击删除后清除冗余资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810209608.3A CN108519880A (zh) | 2018-03-14 | 2018-03-14 | 一种客户端应用程序安装包深度压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810209608.3A CN108519880A (zh) | 2018-03-14 | 2018-03-14 | 一种客户端应用程序安装包深度压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108519880A true CN108519880A (zh) | 2018-09-11 |
Family
ID=63433690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810209608.3A Withdrawn CN108519880A (zh) | 2018-03-14 | 2018-03-14 | 一种客户端应用程序安装包深度压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108519880A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522020A (zh) * | 2018-09-29 | 2019-03-26 | 中国平安人寿保险股份有限公司 | 安卓系统安装包瘦身方法、装置、终端及存储介质 |
CN111090455A (zh) * | 2019-11-27 | 2020-05-01 | 杭州古点网络科技有限公司 | 一种优化WEB项目前端资源并重新发布war包的方法 |
CN113110841A (zh) * | 2020-01-13 | 2021-07-13 | 奇安信科技集团股份有限公司 | 移动应用程序生成方法、装置、电子设备及存储介质 |
CN113282300A (zh) * | 2021-06-28 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 应用安装包的体积优化方法、装置、设备及存储介质 |
CN113377382A (zh) * | 2020-03-09 | 2021-09-10 | 北京字节跳动网络技术有限公司 | 一种软件安装包的处理方法、装置、电子设备及存储介质 |
-
2018
- 2018-03-14 CN CN201810209608.3A patent/CN108519880A/zh not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522020A (zh) * | 2018-09-29 | 2019-03-26 | 中国平安人寿保险股份有限公司 | 安卓系统安装包瘦身方法、装置、终端及存储介质 |
CN111090455A (zh) * | 2019-11-27 | 2020-05-01 | 杭州古点网络科技有限公司 | 一种优化WEB项目前端资源并重新发布war包的方法 |
CN113110841A (zh) * | 2020-01-13 | 2021-07-13 | 奇安信科技集团股份有限公司 | 移动应用程序生成方法、装置、电子设备及存储介质 |
CN113377382A (zh) * | 2020-03-09 | 2021-09-10 | 北京字节跳动网络技术有限公司 | 一种软件安装包的处理方法、装置、电子设备及存储介质 |
CN113282300A (zh) * | 2021-06-28 | 2021-08-20 | 中国平安人寿保险股份有限公司 | 应用安装包的体积优化方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108519880A (zh) | 一种客户端应用程序安装包深度压缩方法 | |
RU2419846C2 (ru) | Кодирование данных языка разметки | |
CN106170921B (zh) | 涉及符号压缩的数据的源编码和解码方法及装置 | |
US10110709B2 (en) | Dynamic Utilization of Condensing Metadata | |
CN101335722B (zh) | 一种在不同终端上实现相同用户界面和操作习惯的方法 | |
CN106170922B (zh) | 数据的源编码和解码的设备和方法 | |
US20130159811A1 (en) | Method of Hybrid Compression Acceleration Utilizing Special and General Purpose Processors | |
JP2002057905A (ja) | 画像ドキュメント圧縮方法及び圧縮ドキュメント記述用データ構造 | |
CN112165331A (zh) | 数据压缩方法及其装置、数据解压方法及其装置、存储介质及电子设备 | |
US7821426B2 (en) | Adaptive entropy coding compression output formats | |
CN105160033A (zh) | 表情字符串的处理方法及装置 | |
JP2015228581A (ja) | 動画再生方法及び動画再生システム | |
US20130054543A1 (en) | Inverted Order Encoding in Lossless Compresssion | |
CN104811209A (zh) | 一种抗最长匹配检测的压缩文件数据嵌入方法及装置 | |
Chong et al. | Grid-based computer animation rendering | |
Abas et al. | Increasing data storage of coloured QR code using compress, multiplexing and multilayered technique | |
CN101867559B (zh) | 在即时通信和网络存储系统中进行文件压缩的方法 | |
CN103200251B (zh) | 图片传输方法、系统和装置 | |
Mao et al. | PNG file decoding optimization based embedded system | |
CN103226673A (zh) | 批量处理swf打散加密方法及装置 | |
Estrella et al. | Real-time compression of soap messages in a soa environment | |
Shim et al. | DH-LZW: lossless data hiding in LZW compression | |
CN101420662A (zh) | 多媒体消息发送方法、处理方法和终端 | |
Fitzek et al. | Low complex and power efficient text compressor for cellular and sensor networks | |
EP1742370A1 (en) | Method and apparatus for compressing and/or decompressing a data structure |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180911 |