iOS ipa体积减小

1 图片处理
1-1  下载https://github.com/tinymind/LSUnusedResources/
主要是删除不用的图片
1-2 下载ImageOptim
对图片进行压缩 有些图片效果不错 有些图片就不能压缩
1-3 把工程里之前文件夹的图片放在Assets.xcassets 这样@2x和@3x取对应需要的图片
1-4 删除@1x图片
1-5 和UI沟通减小大的图片的设计


2 framework处理
2-1 Generate Debug Symbols  设置为NO
2-2 查看framework支持的架构

lipo -info 对应framework路径

只支持对应的arm64就可以 这个效果比较明显 

lipo xxxFramework -thin arm64 -output xxxFramework_arm64

2-3 Optimization Level下的Release模式为:Fastest,Smallest[-Os] 
None: 不做优化使用这个设置,编译器的目标是减少编译成本,使调试产生预期的结果。
Fast:编译器将尝试减少代码的大小和执行时间,不进行任何优化,需要大量编译时间。如果希望编译器为大函数占用更多的时间和内存可以使用这个设置。
Faster:编译器执行几乎所有支持的优化,它不考虑空间和速度之间的平衡与“Fast”设置相比,该设置会增加编译时间和生成代码的性能。编译器不进行循环展开、内联函数和寄存器变量的重命名。
Fastest:开启“Faster”支持的所有的优化,同时也开启内联函数和寄存器变量的重命名选项
Fastest,smallest:这个设置启用“Faster”所有的优化,一般不增加代码大小,它还执行旨在减小代码大小的进一步优化。
2-4 设置Dead Code Stripping为YES


3 主工程也可以用以上的思路
3-1 Strip Linked Product 设置为YES
3-2 Symbols Hidden by Default 设置为YES
3-3 Make Strings Read-Only 设置为YES
3-4 Deployment Postprocessing 设置为YES(主工程不要设置)


4 删除不用的代码 类 文档文件等
这个需要当前业务熟悉
https://github.com/wuba/WBBlades


5 大的文件放在远程服务器下载
比如OCR联想字库等


6 相同功能的三方库自研或者用一种
比如转model的库 网络库


7 用到某些单一功能
比如md5 base64 需要引入很多三方库等支持 可以单一抽出

8 部分页面可以考虑引入H5/RN
减少原生的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值