随着项目业务的不断增加,版本不断迭代,app的iPa包会越来越大,其中主要的图片所占的大小是不容忽视的,下面本人对图片的瘦身谈一谈自己的看法,不喜勿喷!
1、有些公司对图片的处理是保存在字体库里,通过加载字体的方式加载图片,效果立竿见影;
2、对于不用字体库的,一般是导入@2x和@3x的图片放到Assets.xcassets里面
3、对于多人开发和不断迭代的项目,一些功能的废弃,一些僵死的图片资源也留存了下来,这时可以通过LSUnusedResources对自己项目中的无用的图片进行扫描,找到项目中没用的图片,然后进行删除,效果也是立竿见影的;(注意:删的时候,谨慎不要把一些隐藏的给删除了,比如项目中是home_menu_%d,这样使用的他也会给你扫描出来,以为你没用到,其实已经用到了,所以删的时候要看一下)
4、我们在开发中一般UI上传到的图片我们下载下来之后,最好先上传到https://tinypng.com进行压缩,多压缩几次,压缩到不能再压缩为止
5、还有可以通过Python脚本对项目中的图片资源进行批量压缩,好处是.会压缩目录下的所有png 的图片,本地记录一份压缩过的所有图片信息,步骤如下:
Python脚本
打开terminal
1.安装pip: sudo easy_install pip
2.安装TinyPng库: sudo pip install --upgrade tinify
3.前往https://tinypng.com/developers获取apiKey
填完这两项会给你填写的邮箱里面发一条apikey的消息
注意:一般每个apikey每个月都有限额的,除非你交钱,NND!在天朝,花钱的东西都难不倒我们精打细算的程序员,办法很简单,邮箱我们多的是,填写新的邮箱,获取新的apiKey在python脚本里面改下就可以了。
4、编辑脚本
下载脚本 Python脚本地址
下载完成打开tinyPng.py文件,把xxx的替换成后面备注的内容
5、运行脚本
python 脚本的路径
6、压缩完成,你可以对比下压缩前和压缩后的大小,效果也是杠杠的,将压缩完的图片替换之前的图片即可。
我把本项目的图片进行一遍压缩之后,ipa大小从92.07M减少到65.88M,减少了26.19M,效果也是杠杠的!
我相信在压缩一遍,还能压缩不少!