一种文件压缩方法及设备技术

技术编号:29938605 阅读:17 留言:0更新日期:2021-09-04 19:19
本申请的目的是提供一种文件压缩方法及设备,本申请通过获取应用程序的源代码对应的至少一个资源文件及每个所述资源文件的文件名和后缀名;根据文件名和后缀名对至少一个资源文件进行筛选,以得到待分类的资源文件和第一资源文件;若待分类的资源文件为文本文件,则对待分类的资源文件进行有效性过滤处理得到第二资源文件;若待分类的资源文件为图片文件,则对待分类的资源文件进行位图压缩转换得到第三资源文件;对第一资源文件、第二资源文件及第三资源文件进行编译并压缩打包,得到应用程序的压缩包,实现了压缩将大体积的资源文件优化转换为小位数的载体文件,从而优化减小应用程序安装包体的体积,以便于存储、传输量和带宽占用。和带宽占用。和带宽占用。

【技术实现步骤摘要】
一种文件压缩方法及设备


[0001]本申请涉及计算机
,尤其涉及一种文件压缩方法及设备。

技术介绍

[0002]现有技术中,pngquant:是一个命令行工具和一个用于压缩PNG图像的库,转换以减少文件大小,其中通常高达70%,并保留完整的阿尔法通道alpha透明度。生成的图像与所有网络浏览器和操作系统兼容,使用中值切割量化算法的修改版本和附加相关技术来减轻中值切割的缺陷,而不是分裂具有最大音量或颜色数量的盒子,而是选择盒子以最小化其中值的方差。其中,直方图是建立在基本感知模型的基础之上的,这样可以减少图像噪点区域的重量;为了进一步改善颜色,在类似于梯度下降的过程中调整直方图(中值切割重复许多次,在表现不佳的颜色上重量更多。最后,使用Voronoi迭代(K均值)来校正颜色,这保证了局部最佳的调色板,从而降低文件大小体积。但现有技术存在如下缺点:现有常见的图片文件(bitmap file)就是位图图片。位图图片的文件大小一般都是最大的,因为图片文件体积过大,不便于存储和传输,臃肿至网络带宽负担大,页面渲染加载慢,影响产品交互体验。同时,在开发一项应用程序的项目工程中打包发布的应用程序(比如,安卓应用程序包apk)的包体体积过大,其中资源文件及位图文件等不便于存储和传输;文件大小不合理也会造成如下影响:内容分发网络cdn加速及内容分发效率慢,页面渲染加载慢,增加网络带宽资源压力负担,交互等待期长及加载慢影响产品体验等。

技术实现思路

[0003]本申请的一个目的是提供一种文件压缩方法及设备,以解决实际项目工程中的应用程序包体中资源文件体积过大的问题,实现压缩将大体积的资源文件优化转换为小位数的载体文件,从而优化减小应用程序安装包体的体积,以便于存储、传输量和带宽占用,尽可能地减少传送的总“比特”数,减小了服务器的处理的压力,提高了渲染显示的速度,有利于内容分发网络cdn加速,使cdn内容分发也会更轻松,提升交互体验。
[0004]根据本申请的一个方面,提供了一种文件压缩方法,其中,所述方法包括:
[0005]获取应用程序的源代码对应的至少一个资源文件及每个所述资源文件的文件名和后缀名;
[0006]根据所述文件名和所述后缀名,对所述至少一个资源文件进行筛选,以得到待分类的资源文件和第一资源文件;
[0007]若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行有效性过滤处理,得到第二资源文件;
[0008]若所述待分类的资源文件为图片文件,则对所述待分类的资源文件进行位图压缩转换,得到第三资源文件;
[0009]对所述第一资源文件、所述第二资源文件及所述第三资源文件进行编译并压缩打包,得到所述应用程序的压缩包。
[0010]进一步地,上述方法中,所述若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行有效性过滤处理,得到第二资源文件,包括:
[0011]若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行压缩空白、注释并替换变量名及最小化所述待分类的资源文件中所有的单词的处理,得到所述第二资源文件。
[0012]进一步地,上述方法中,所述对所述待分类的资源文件进行压缩空白,包括以下至少任一项:
[0013]去除所述待分类的资源文件中的单行注释、换行符、制表符及预设字符两侧的空格;
[0014]合并所述待分类的资源文件中的多行数据内容;
[0015]及,压缩所述待分类的资源文件中的至少两个空格为单个。
[0016]进一步地,上述方法中,所述若所述待分类的资源文件为图片文件,则对所述待分类的资源文件进行位图压缩转换,得到第三资源文件,包括:
[0017]若所述待分类的资源文件为图片文件,则对所述待分类的资源文件中的所有的像素点进行扫描,得到每个像素点的位置及其颜色值;
[0018]取所有所述像素点的颜色值中的不同的颜色值进行颜色表的构建,并记录不同的颜色值对应的颜色在所述颜色表中的索引位置;
[0019]基于所有所述像素点的位置及其颜色值,确定每个索引位置对应的一个或多个像素点及其位置。
[0020]根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述文件压缩方法。
[0021]根据本申请的另一方面,还提供了一种用于文件压缩的设备,其中,该设备包括:
[0022]一个或多个处理器;
[0023]计算机可读介质,用于存储一个或多个计算机可读指令,
[0024]当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述文件压缩方法。
[0025]与现有技术相比,本申请通过获取应用程序的源代码对应的至少一个资源文件及每个所述资源文件的文件名和后缀名;根据所述文件名和所述后缀名,对所述至少一个资源文件进行筛选,以得到待分类的资源文件和第一资源文件;若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行有效性过滤处理,得到第二资源文件;若所述待分类的资源文件为图片文件,则对所述待分类的资源文件进行位图压缩转换,得到第三资源文件;对所述第一资源文件、所述第二资源文件及所述第三资源文件进行编译并压缩打包,得到所述应用程序的压缩包,解决了实际项目工程中的应用程序包体中资源文件体积过大的问题,实现压缩将大体积的资源文件优化转换为小位数的载体文件,从而优化减小应用程序安装包体的体积,以便于存储、传输量和带宽占用,尽可能地减少传送的总“比特”数,减小了服务器的处理的压力,提高了渲染显示的速度,有利于内容分发网络cdn加速,使cdn内容分发也会更轻松,提升交互体验。
附图说明
[0026]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0027]图1示出根据本申请一个方面一种文件压缩方法的流程示意图;
[0028]图2示出根据本申请一个方面的一种文件压缩方法在实际应用场景中的流程示意图。
[0029]附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
[0030]下面结合附图对本申请作进一步详细描述。
[0031]在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0032]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0033]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件压缩方法,其中,所述方法包括:获取应用程序的源代码对应的至少一个资源文件及每个所述资源文件的文件名和后缀名;根据所述文件名和所述后缀名,对所述至少一个资源文件进行筛选,以得到待分类的资源文件和第一资源文件;若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行有效性过滤处理,得到第二资源文件;若所述待分类的资源文件为图片文件,则对所述待分类的资源文件进行位图压缩转换,得到第三资源文件;对所述第一资源文件、所述第二资源文件及所述第三资源文件进行编译并压缩打包,得到所述应用程序的压缩包。2.根据权利要求1所述的方法,其中,所述若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行有效性过滤处理,得到第二资源文件,包括:若所述待分类的资源文件为文本文件,则对所述待分类的资源文件进行压缩空白、注释并替换变量名及最小化所述待分类的资源文件中所有的单词的处理,得到所述第二资源文件。3.根据权利要求2所述的方法,其中,所述对所述待分类的资源文件进行压缩空白,包括以下至少任一项:去除所述待分类的资源文件中的单行注释、换行符、制表符...

【专利技术属性】
技术研发人员:王松
申请(专利权)人:上海渠杰信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1