资源瘦身
1. 删除无用的资源
效果
查找到无用的图片大概有220个,总大小2M多(PS:部分是之前的图片后改成网页获取)
删掉了文件较大(100KB+)的一些图片
保留了一部分无用图片(有一部分是刷新头的自定义,但是在使用但是也搜出来了)
项目从109.9变成107.8
Tips:
我们的项目是自己组件化打成sdk造成很多图片查出来无用实际上是sdk里面使用的。
如果有userguidimg_0 这类图片应该要把_0去掉在去排查是否使用
2.图片压缩
目前常用的图片格式:jpg,png,gif。
几种图片格式的区别如下:
JPEG—照片的标准格式,不支持透明。
GIF—被限制在256色因此对于大块纯色和简单图像非常好。它支持透明但是会产生锯齿边缘。
PNG—.jpg和.gif的漂亮结合,具有.jpg图片的质量和.gif的透明度,而且没有锯齿。
通常使用PNG这边推荐使用webp 但是iOS本身是不支持webp的
1.webp格式的优点
webp压缩率高支持有损与无损压缩
webp 体积大幅减小,肉眼看不出差异
webp 支付alpha透明 和 24-bit颜色数,不像PNG8色彩不够出现毛边,GIf转Animated webp有损可减少64%,无损减少19%。
小于256色适合无损压缩,压缩率高,参数使用lossles -q 100
大于256色使用75%有损压缩,参数 -q 75
远大于256色使用75%以下压缩率,-q 50 -m6
2.webp格式的缺点
较png消耗2倍左右CPU和解码时间
全平台支持不够。不过在iOS上可以通过对应的iOS的webp解析库解析。
使用pod管理第三方库的同学,可以在pod文件中添加 pod 'SDWebImage/WebP'语句,更新pod库安装webp的支持库。(注:使用pod安装此库需要VPN的支持)
https://github.com/ibireme/YYImage这边也支持了webp
我自己的项目图片都是比较小的就没有在去压缩
3.删除工程中不再使用的代码
使用LinkMapParser 统计出每个.o目标文件占用的体积和每个.a静态库占用的体积
![](https://img.haomeiwen.com/i18478943/72e111c8e9045b74.png)
再去里面查看代码,对代码继续优化(进行中)
4.一些配置信息
主要是舍弃了armv7 (去掉直接减少了20M)
armv7 设备: iPhone3GS, iPhone4, iPhone4S
iPad, iPad2, iPad3(The New iPad), iPad mini
iPod Touch 3G, iPod Touch4
armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。
修改了一些配置
Optimization (ASSETCATALOG_COMPILER_OPTIMIZATION)
设置成space (包减少了0.3M)
还有其他的一些配置信息,打包测试完毕并没有影响包的大小故不写了。
本文章是在优化安装包的时候吸取众多文章并结合实际完成的
网友评论