iOS包体积大小优化

本文探讨了iOS应用包体积优化的重要性,并详细介绍了资源瘦身和Mach-o文件优化的方法。资源瘦身包括移除无用资源和使用有损压缩,如RGB with palette、webp格式。Mach-o文件优化涉及-Oz编译参数、Link-Time Optimization和属性动态化,以减少二进制文件大小。通过这些优化措施,可以显著降低ipa包的大小,提高用户体验。

前言

应用的包体积大小会影响用户的点击下载率、安装成功率和卸载率,是衡量APP性能的一项重要指标。为了更好的用户体验,减少用户下载等待时长、减少手机存储空间占用,对包体积大小的优化也是尤为重要的。

安装包ipa的内容

iOS打包出来的ipa,本质上是一个压缩包,可以将.ipa的后缀改为.zip,然后进行解压缩后会得到一个Payload文件夹,里面又一个xxx.app的文件,右键显示包内容可以看到具体内容:

  • _CodeSignature: ipa包签名文件
  • .lproj: 语言文件
  • Frameworks: 第三库、SwiftSupport库
  • Plugins: App创建的扩展,比如Widget、Push、分享
  • Assets.car: 由Assets.xcassets生成的资源文件,里面包含各种分辨率的图片
  • embedded.mobileprovision: 证书配置文件
  • Info.plist: 项目配置
  • exec格式的xxx: Mach-O格式的可执行文件
  • 其它资源文件
    .mp3格式的文件
    .html的文件
    .json的文件
    .png或者.jpg的文件

Mach-o的文件结构:
Mach-o文件结构

  • Header,存放了二进制文件的基本信息,包括文件是32位还是64位、运行该文件对应的处理器架构是什么、文件类型(比如可执行文件)、Load Commands的个数和大小等等。
  • Load Commands,是一个struct结构,用来告诉内核和dyld,如何将APP运行所需资源加载到内存。比
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值