iOS项目优化-APP瘦身

本文分享了一位开发者在项目中实施的iOS应用瘦身策略,通过优化编译选项、舍弃过时架构、精简第三方库、处理图片资源、调整编译器优化级别及可执行文件瘦身等手段,成功将APP大小从一百多兆减至80兆。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

由于在上家创业公司被现在的公司收购,最终把两个APP融合成一个APP,当时只是把代码进行复制黏贴,后面一直在做开发,急着上线功能,所以我也没有对APP进行优化。项目打包之后ipa包的大小是一百多兆,下载时间太长,年初比较闲,决定来优化安装包,结合其他开发者的优化方法进行瘦身,最终变成80兆。

1、配置编译选项 

(Levels选项内)Generate Debug Symbols  设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO断点不生效。

2、舍弃架构armv7

armv7用于支持4s和4,现在的使用率极低,完全可以舍弃了。

3、去除无用的三方库、代码、图片

4、图片处理

项目中的图标文件是被小伙伴们直接放在工程目录下面的,里面有1x、2x和3x的图片,当然打包的时候这些文件也都被打包进去了。我这里做的就比较简单了我把图片放在Xcode自带的图片管理工具里面Images.scasssets,这样的好处就是打包的资源包中的图片会被放到Assets.car.图片有被压缩;此时若用[[NSBundle MainBundle] pathForResource:  ofType: ]来访问时访问不到的。同时你也无法像平常一样轻易的拿到被人的图片资源了,不用再为多像素的图片命名。mages.xcassets会自动的排列不同像素的图片。
5、编译器优化级别

Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。

6、可执行文件瘦身

LinkMap文件是Xcode产生可执行文件的同时生成的链接信息,用来描述可执行文件的构造成分,包括代码段(__TEXT)和数据段(__DATA)的分布情况。只要设置Project->Build Settings->Write Link Map File为YES,build完后就可以在设置的路径看到LinkMap文件了。

我们可以用脚本从linkmap中统计出每个.o目标文件占用的体积和每个.a静态库占用的体积 【脚本链接

也可以使用clang plugin 或 mach-o 查找无用方法的方案。

https://github.com/netyouli/WHC_Scan 这个工具也可以使用,作为辅助参考,但仅限于OC代码。

思维导图:

参考资料:https://www.jianshu.com/p/991278b459ff

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值