iOS ipa瘦身

分类: 资源、编译、执行的代码

瘦身:
1、 资源文件(尤其是图片)
https://github.com/tinymind/LSUnusedResources/

1)检查文件里面没有直接使用到的

  1. 检查出来的图片并不是一定没有使用的,有可能有一些是一组的,或者作为资源使用的,这个根据自己的项目来确定是否有用,不过,这个软件已经帮助我们过滤了一次,所以范围小了很多。
  2. 按照项目图片命名的特殊性,进行判断特殊的图片是否使用了。【项目图片命名应该按照约定的规则】
  3. 压缩图片, 尤其是大的图片 imageopim
  4. 不影响是觉的情况下,可以压缩改变通道。 32bit —> 8bit
  5. xib 这些文件占用相对大点,改为代码写布局

参考,看一下静态库

2、冗余的代码
1、没有使用的代码

1)WBBlades 检查没有用的文件
里面列出来文件很多,但是,需要思考,我们排除掉第三方库等等,这个看看需要怎么修改?

  1. 过滤出来的,并不是一定是没有用的,自己还是要到代码里面搜索,因为有些是判断不出来的 【不支持,以及项目可能存在bug】

2、优化重复的代码

1)代码组织在同一个地方, 重复代码的优化

  1. 代码瘦身,不应该破坏代码的开发原则, 比如:开闭原则

3、app thinning
1> app thiing 会把上传的包重新组合, 给没给机型申城特定的安装包。

  1. 只包含当前设备的二进制文件: armv7s的机制不需要arm64的二进制文件
  2. 只包含当前文件的图片, 视网膜屏就不需要2x图了。
    把你上传的包重新组合下,会给每个机型生成特定的安装包。它的原理是,

2> On Demand Resource (按需下载)

不是很常用的资源放到后台

3> BitCode

误传可以减小尺寸,我试过没有明显效果。在编译选项里打开就行。

4> 确认编译选项:
Optimization Level: Fastest,Smallest
Deployment Postprocessing: Yes
Strip linked Product: Yes
Symbols Hidden by default: Yes
Make Strings Read-only: Yes

https://github.com/kobe1941/shell 统计各个静态库的大小
https://github.com/xuezhulian/selectorsunref iOS瘦身,没有使用的方法

尽可能的用数据来进行衡量一下

我们的目标是什么?是给“下载包”瘦身,而不是“上传审核包”。区别在于审核包,会包含所有硬件架构的二进制内容。上传后苹果会自动帮我们拆分开,针对不同手机生成不同的下载包。下载包的大小可以到app 开发者后台自己看。

小结:
1、 主要看资源文件的大小优化
2、一大片的不是使用的代码,应该删除
3、代码优化,对于占用大小影响不大,如果可以选择,代码的合理性应该更加重要
4、静态库要不要处理?
5、 我们是下载包瘦身,而不是上传审核包。 审核包是包括所有硬件架构的二进制内容, 上传苹果后会自动拆分开,针对不同的手机生成不同的下载包。 —— app开发者后台查看。 但是,上传包可以瘦身普通的内容 —— 区分: (1)上传包阶段的瘦身 , (2)下载包阶段的瘦身

删除无用代码带来另一个福利就是,App的启动速度变快了。
启动速度的时间长度, 和包的大小也是 有关系的 , 因为启动的过程就是加载的过程。 这个启动的优化,下一次详细弄一下;

1、 看一下各个版本的记录, 图片压缩是否有效果?

参考链接:
https://xie.infoq.cn/article/c2de1ff54b2f5b88170541b73
http://www.cocoachina.com/articles/859032
http://sindrilin.com/2018/12/11/image_subtraction.html
http://www.cocoachina.com/articles/859032
https://github.com/jezzmemo/iOSThin

https://www.jianshu.com/p/77d306595698 这个工具

1、资源瘦身
2、编译瘦身
3、可执行文件优化,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容