首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何持续优化项目内的图片

如何持续优化项目内的图片

作者头像
逮虾户
发布2020-10-15 10:19:12
发布2020-10-15 10:19:12
88300
代码可运行
举报
文章被收录于专栏:逮虾户逮虾户
运行总次数:0
代码可运行

由于包体积优化是一个持续的过程,但是人为手动调整图片等过于耗时,所以整和了下shell 指令,并提供一次分享,方便调整项目内的图片文件。 方案会是一个IOS/Android都能使用的方案,只要在当前文件夹下执行对应的脚本就可以。

技术选型问题

  1. PNG图片压缩 首先想的的是tinypng,但是由于是一个网站,同时调用对方接口需要收费,所以没有选择。之后调研到PngQuant,github.com/kornelski/p…,这个仓库可以由命令行执行,同时压缩比例大概也是在70%左右,同时配合python的情况下可以对我们的项目做很好的支持效果。具体内容细节可以参考juejin.im/entry/68449…
  2. png图片直接转化webP,和上面的原理机制是一样的,我们调用谷歌官方的cwebp指令,帮我们去对图片进行格式转化,新建同名文件夹存储,然后等使用方确定之后覆盖删除旧的png图片,当前应该只有安卓端会先使用,毕竟适配的较好。
  3. png图片转化jpg,如果一张图片没有Alpha通道的情况下,jpg图片会比png图片小很多,所以我们使用了python原生PIL,去把一张png图片更换成jpg。
  4. 同时提供最简单的测试工具给测试,让他们可以快速完成app的monkey测试。写了个简单的shell

所有的图片压缩逻辑都会判断新老大小是否发生变化 如果压缩之后质量没发生变化则不会更换资源

Cli如何使用

  1. 必要开发环境 Mac 同时安装了homebrew 没有安装的同学 看下这个www.jianshu.com/p/7071c1419…
  2. 首先先将github.com/Leifzhang/T… 仓库clone 到本地。
  3. 然后命令行跳转到对应的文件夹下面,执行下面的命令
代码语言:javascript
代码运行次数:0
运行
复制
chomd 777 install.sh
./install.sh
  1. 然后到你需要操作的文件下面,执行
代码语言:javascript
代码运行次数:0
运行
复制
toolman
  1. 然后在操作界面下选择你需要操作的指令

使用效果

通过反编译了下项目将工程还原 然后对单独项目进行整体压缩测试,然后分别将png压缩以及webp替换的压缩大小分享在下面。

  • 使用pngquant 压缩所有图片之后效果大概是整个项目能压缩6.2m左右
  • 使用webp压缩整个项目

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术选型问题
  • Cli如何使用
  • 使用效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档