iOS优化ipa包大小

一、素材相关

1. 音视频

  • 本地工程尽量不内置视频文件,走网络动态加载。
  • 本地音频文件一般控制在20~50KB。

2. 图片规范

  • 图片使用@2x,@3x即可,不需要用单倍的图片。
  • 非Gif图源文件不得高于120KB,一般控制在50KB,建议控制在20KB以下,小按钮图标一般Byte大小。
  • Gif图源文件尽量不高于1M。

3. 素材排查方式

  • 解压缩ipa包,检查ipa素材文件大小,同步替换工程内置图片和工厂打包所调整的图片素材,减少图片大小,可以利用图片在线压缩进行图片压缩。
  • 利用LSUnusedResource筛选工程中未使用的图片素材,如果有部分代码在git上以frameWork形式存在,调整需小心。

二、冗余代码检查

  • 利用AppCode检测未使用的代码:菜单栏 ->Code->InspectCode

三、编译器优化

1. Generate Debug Symbols

(Levels选项内)Generate Debug Symbols 设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下
在这里插入图片描述

2. 舍弃架构armv7

armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。在这里插入图片描述

3. DEAD_CODE_STRIPPING

build setting 里 DEAD_CODE_STRIPPING = YES去掉冗余的代码在这里插入图片描述

4. Optimization Level

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

5. 去除符号信息

Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。
在这里插入图片描述
在这里插入图片描述

6. Strip Linked Product

Strip Linked Product:DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小;
在这里插入图片描述

7. Enable C++ Exceptions、Enable Objective-C Exceptions

编译器优化,去掉异常支持。Enable C++ Exceptions、Enable Objective-C Exceptions设置为NO,Other C Flags添加-fno-exceptions

  • Enable C++ Exceptions
    在这里插入图片描述

  • Enable Objective-C Exceptions
    在这里插入图片描述

  • Other C Flags添加-fno-exceptions在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值