美文网首页iOS相关技术实现iOS
iOS端瘦身实践之图片资源篇

iOS端瘦身实践之图片资源篇

作者: roger_Hunter | 来源:发表于2018-07-09 16:23 被阅读145次

        一样的目的,目前网上到处充斥着图片的瘦身,但是能完整记录下来并运用与实践的估计少之又少,本文档是在对我在项目中资源图片进行优化处理后的总结,采用了Webp技术,而目前该技术被国内外互联网公司使用,好像手淘的app和H5已经全面使用了Webp图片

1. 一般资源瘦身的步骤

图片来源于网络

2. 进行查找未使用的图片

LSUnusedResources

图1

    2.1 该工具是把在项目中没有用到的图片给找出来,但是该工具要求在项目中使用原图片名称,不能进行二次转换,不然查找失效,这也是我们项目中不能用该工具来批量查找未使用图片的原因了。

    2.2 Githud:https://github.com/tinymind/LSUnusedResources

3. 大比例压缩

    3.1 图片格式对比

图片来自于手淘

    3.2 PNG转Webp

图2

    注意:目前请使用2.1.2版本,3.1版本有问题

    png转换以及压缩工具iSparta:http://isparta.github.ios/

    Webp项目主页:https://developers.google.com/speed/webp/

    iOS Webp解析库:https://github.com/carsonmcdonald/Webp-iOS-example

3.3    坑:如果在使用该工具导出文件的过程中报如下错误,请重新导出文件为png,再进行格式转换

图3

4. 为何使用Webp,优点

    4.1 Webp压缩率高,支持有损与无损压缩

    4.2 Webp体积大幅减少,肉眼看不出差异

    4.3 Webp支持Alpha透明和24-bit颜色数,不像PNG8色彩不够出现毛边和毛刺

    4.4 Gif转Animated Webp有损可减少64%,无损19%

    4.5 小于256色适合无损压缩,压缩率高,参数使用- lossless –q 100

    4.6 大于256色使用75%有损压缩,参数使用-q75

    4.7 远大于256色使用75%以下压缩率,参数-q50 –m 6

5. Webp的缺点

    5.1 较PNG消耗2倍左右的CPU和解码时间

    5.2 全平台支持度不够,在iOS上可以通过对应的iOS的Webp解析库解决

6. 项目实践

    6.1 转换好图片后,使用开源的框架

    pod 'SDWebImage/WebP'

    在安装Webp的过程中要安装libwebp 0.6.0版本,而在下载该版本时,可能遇到超时问题:

图4

解决该问题的步骤为:

    6.1.1 查看cocoapods本地库路径:

            pod repo

    6.1.2 在本地库中,找到对应的libwebp版本的文件

图5

    6.1.3 进入libwebp目录,可以查看对应的版本

图6

    6.1.4 由于SDWebImage依赖的libwebp版本为0.6.0,所以进入该版本,并做修改

            sudo vim libwebp.podspec.json

            将其中的”git”对应的url替换为:https://github.com/webmproject/libwebp.git,并保存退出,后再次进行pod install即可

图片来源于网络

7. 在实际项目中的运用

    我们项目采用了统一的宏来加载图片,所以只要替换宏就达到目的

图7

8. 文件大小对比

图8

结束:以上就是我在实际项目中对图片资源进行初步优化的结果,当然还有很多要优化的方面,比如放入asserts里面,比如去重等等,暂且先这样吧...

相关文章

  • iOS端瘦身实践之图片资源篇

    一样的目的,目前网上到处充斥着图片的瘦身,但是能完整记录下来并运用与实践的估计少之又少,本文档是在对我在项目中资源...

  • 安装包瘦身

    mark:iOS APP安装包瘦身实践 清理项目中不再使用的图片资源 当我们谈论iOS瘦身的时候,我们到底在谈论些...

  • 真题

    1、iOS瘦身:代码瘦身、资源优化。(安装包体积优化,图片资源优化的策略)(怎么删除无用的图片?怎么压缩图片?)2...

  • iOS代码瘦身实践

    iOS代码瘦身实践 iOS代码瘦身实践

  • 为iOS开发脚本工具系列

    资源文件瘦身 iOS项目瘦身,删除无用图片,批量压缩图片[https://www.jianshu.com/p/ed...

  • iOS项目瘦身

    iOS快速删除项目工程中不用的图片资源:LSUnusedResources 滴滴出行 瘦身

  • iOS 优化

    资源优化:对资源文件下手,压缩图片/音频,去除不必要的资源iOS项目瘦身,删除无用图片,批量压缩图片 编译优化:r...

  • iOS APP瘦身之优化图片资源

    本文总结了优化应用中图片资源大小的几种方法,有效的使用这些方法,可以减小应用的图片资源体积。 在使用这些优化方法之...

  • iOS APP瘦身之优化图片资源

    本文总结了优化应用中图片资源大小的几种方法,有效的使用这些方法,可以减小应用的图片资源体积。 在使用这些优化方法之...

  • iOS项目瘦身,删除无用图片,批量压缩图片

    背景: 移动端关于瘦身,合理处理资源应该是风险最小,见效最快的手段了。项目中会用到很多的图片资源,合理的压缩<压缩...

网友评论

  • bigCatloveFish:工具可能找到得并不完全,还有一种方案 可以hook UIImage 获取图片得方法。上传使用过得名字。基本上 一两次 回归测试 就能 知道 哪些图片没有使用了。

本文标题:iOS端瘦身实践之图片资源篇

本文链接:https://www.haomeiwen.com/subject/lxltpftx.html