最近发现了一个叫做pngquant的工具,可以有效的压缩资源文件中的png文件,从而减小发布的apk的大小。我发现这个工具有两个特点:

1. 真无损,压缩后重新运行了我的app发现是没有任何区别的

2. 使用简便,一个命令行即可

3. 对于.9图片也可以照样压缩切不报错

具体对于这个工具的介绍就不多说了,应该是用了某种比较好的算法来实现无损压缩或者最大限度的达到同样的效果,具体可以参考官网:

https://pngquant.org/http://i.cnblogs.com/EditPosts.aspx?opt=1

这里简单介绍下windows上的使用方法,命令很简单

.\pngquant 256 --force --ext .png .\drawable-xxhdpi\*.png

首先进入官网下载windows使用的版本

解压缩后进入该目录,并且将你需要压缩的drawable文件夹拷贝到同目录里面

进入控制台到该目录下执行上述命令即可,这里解释下其中几个参数:

--ext .png这个是因为默认它会将解压缩后的Png文件重命名加后缀,这个参数即将重命名后加了一个空的字符的后缀,即等于不重命名了--force不重命名后等于要覆盖原来的文件了,这里即强制覆盖原来的文件

这是压缩前的四个目录的资源文件大小:

这是压缩后的四个目录的资源文件大小:

减少了1.29MB,减少了原来的约25%,效果还是比较明显的。

推荐使用!


转载于:https://www.cnblogs.com/soaringEveryday/p/5148881.html

使用pngquant来压缩png资源缩小apk相关推荐

  1. androidstudio打包apk 文件_Android 缩小apk体积过程记录

    写在前面,这篇文章的目的是记录自己把打包的apk 从11M缩小为5.5M的过程. 先说一下PAD端软件的产生背景,在去年刚休完产假上班的第一周,就接到任务说要做一个针对设备端软件使用的PAD端,只要能 ...

  2. python pngquant 批量压缩png图片

    用pngquant压缩一个文件夹里所有图片 或 压缩一个文件夹里所有一级子文件夹里的图片 压缩后的图片分辨率调整为原来的0.5倍(根据自己的情况调整) 计算压缩前后的图片大小.压缩率和压缩用时 由于p ...

  3. 缩小apk体积,如何降低7M包体积

    最近在缩小安装包体积的工作,总结一下学到的知识希望对大家有帮助 主要分为几个步骤 1.删除无用资源 2.多业务线资源去重 3.资源压缩处理 4.资源混淆工具 5.7zip压缩 第一步:删除无用资源 参 ...

  4. wro4j和maven plugin在编译期间压缩静态资源

    优化前:  基本上所有的jsp都引用了这一大坨静态文件: <link rel="stylesheet" type="text/css" href=&quo ...

  5. wro4j和maven plugin在编译期间压缩静态资源.

    优化前: 基本上所有的jsp都引用了这一大坨静态文件: <link rel="stylesheet" type="text/css" href=" ...

  6. 在一个项目编译多个不同签名、包名、资源实现apk换皮

    简介 如题所示!本篇文章就是为了解决这种问题.方便打包和运行的时候能做到无需手动替换配置,即可打包想要的apk. 先来看,有需求如下: 同一个项目 不同的apk图标 不同的服务器域名 不同的包名 不同 ...

  7. 传输加载优化(资源压缩、资源缓存、HTTP2)

    启用压缩 Gzip Gzip 是用来做网络资源压缩,帮助我们减少资源文件在网络传输大小的技术,可以高达 90% 如下是 MacOs 安装方法,Windows 安装方法及使用可以参考我这篇文章:项目技术 ...

  8. pngquant java,使用pngquant批量压缩png

    pngquant 是一个批次转换数值化和高频振动真彩PNG图像的实用程序,特别是那些有一个完整的alpha通道,归结为"rgba调色板".这些图像通常是两到四次小于整个32位版本, ...

  9. pngquant批量压缩Windows脚本

    首先在官网下载Windows下的命令行工具,然后自己创建一个 bat脚本文件 内容如下: @echo off :: 设置压缩png文件的根目录,脚本会自动按树层次查找和压缩所有的png :: 注意路劲 ...

最新文章

  1. Nature:植物叶际微生物组稳态维持机制
  2. hdu 1872(稳定排序)
  3. 【PC工具】更新免费文库文档下载器,免费下载文库文档
  4. 大神TP_英雄联盟:男枪瞬秒大龙,佐伊遍地TP,新版本BUG谁来监管?
  5. Android系统中的进程管理:进程的创建
  6. 把nc v6的源码看懂
  7. 替换 Nginx 使用 Caddy 作为博客静态服务器
  8. 利用veiw建立Centos5.5 双机智能DNS手册
  9. quartus仿真27:JK触发器构成的同步二进制加法计数器(分析)
  10. linux audio(alsa)驱动注册的简明流程.
  11. 凸优化第二章凸集 2.5分离与支撑超平面
  12. CentOS7.3 本地环境安装
  13. 天锐绿盾解密_天锐绿盾数据防泄密系统
  14. 背包问题1:【SSL】1059.01背包问题——2021-03-10更
  15. 一个简单LEGv8处理器的Verilog实现【三】【工具使用和编程规范】
  16. 微信小程序标签样式的优先级
  17. oracle裁员原因_导致甲骨文全球性裁员的原因有哪些?
  18. JAVA 16方格排序游戏
  19. java实现简易五子棋
  20. 分辨率,定位精度,重复定位精度解释

热门文章

  1. vs2005sp1安装加速
  2. requests---requests简介
  3. 骑芯供应链(T 面试)
  4. BZOJ5137lg4081(广义后缀自动机,set启发式合并)
  5. day_6:验证码识别
  6. 关于JavaScript中的同步(SYNC)和异步(ASYNC)
  7. python学习之--安装IDE(eclipse+pydev)
  8. java_多线程_基于接口的多线程
  9. IBatis存取图片在Oracle Blob大字段中Asp.Net
  10. Struts2.0实现的文件上传(单附件和多附件)以及附件下载功能