CN108519880A - 一种客户端应用程序安装包深度压缩方法 - Google Patents

一种客户端应用程序安装包深度压缩方法 Download PDF

Info

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
Application number
CN201810209608.3A
Other languages
English (en)
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.)
Guangdong Nenglong Education Co ltd
Original Assignee
Guangdong Nenglong Education 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 Guangdong Nenglong Education Co ltd filed Critical Guangdong Nenglong Education Co ltd
Priority to CN201810209608.3A priority Critical patent/CN108519880A/zh
Publication of CN108519880A publication Critical patent/CN108519880A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G06F8/4434Reducing the memory space required by the program code
    • 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
    • G06F8/4434Reducing the memory space required by the program code
    • G06F8/4435Detection or removal of dead or redundant code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

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)删除冗余通过弹出删除确认框,点击删除后清除冗余资源。
CN201810209608.3A 2018-03-14 2018-03-14 一种客户端应用程序安装包深度压缩方法 Withdrawn CN108519880A (zh)

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)

* Cited by examiner, † Cited by third party
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 北京字节跳动网络技术有限公司 一种软件安装包的处理方法、装置、电子设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
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