返回

今日头条iOS安装包大小再瘦身,瘦身秘籍大公开!

IOS


自2016年起,今日头条iOS端便开始关注到安装包大小问题,并启动了优化工作。2017年,我们首次将包大小优化思路和实践撰写成技术文章《干货|今日头条iOS端安装包大小优化—思路与实践》与大家分享。时隔三年,今日头条在包大小优化实践过程中收获颇丰,在构建配置、图片压缩等方面也有了新的思考和尝试。现在,就把优化瘦身的秘籍传授给大家!


迈入包大小优化新阶段

在2017年的文章中,我们分享了今日头条iOS端安装包大小优化思路和实践。当时,我们主要从构建配置、图片压缩、代码优化、资源管理四个方面展开。经过三年的探索,我们又有了新的发现和实践。

构建配置优化

在构建配置方面,我们主要做了以下优化:

  • 启用了 bitcode,可以在 App Store Connect 上传ipa包时,由苹果服务器自动进行 bitcode 编译,无需再进行额外的编译工作。
  • 使用了 lipo 命令进行二进制合并,可以将模拟器和真机的二进制文件合并成一个通用二进制文件,减少了安装包的大小。
  • 使用了 Xcode 的脚本构建,可以自定义构建过程,优化构建过程中的各种参数,比如编译器优化级别、链接器优化级别等。

图片压缩优化

在图片压缩方面,我们主要做了以下优化:

  • 使用了 TinyPNG 进行有损压缩,可以显著减小图片的大小,而不会对图片质量造成明显的下降。
  • 使用了 WebP 格式进行无损压缩,可以进一步减小图片的大小,但需要确保 App 支持 WebP 格式。
  • 使用了图片资源管理工具,可以自动压缩图片,并生成不同分辨率的图片,以适应不同设备的需要。

代码优化

在代码优化方面,我们主要做了以下优化:

  • 使用了代码混淆工具,可以混淆代码,使代码更难以阅读,从而减小代码的大小。
  • 使用了代码去除工具,可以去除代码中未使用的部分,减小代码的大小。
  • 使用了代码重构工具,可以优化代码结构,提高代码的可读性和可维护性,同时也减小了代码的大小。

资源管理优化

在资源管理方面,我们主要做了以下优化:

  • 使用了资源包管理工具,可以将资源打包成一个或多个资源包,并将其与 App 分开存储,从而减小 App 的大小。
  • 使用了资源预加载技术,可以预加载 App 所需的资源,从而减少 App 启动时的加载时间。
  • 使用了资源按需加载技术,可以只加载 App 当前所需的资源,从而减少 App 的内存占用。

真机测试与性能分析

在真机测试和性能分析方面,我们主要做了以下优化:

  • 使用了真机测试工具,可以对 App 进行真机测试,并分析 App 的性能,以发现和解决性能问题。
  • 使用了性能分析工具,可以分析 App 的性能,并找出 App 的性能瓶颈,从而优化 App 的性能。

瘦身效果显著

经过上述优化,今日头条iOS端安装包大小已经从2017年的100MB左右减小到了现在的60MB左右,瘦身效果显著。

结语

安装包大小优化是一项持续性的工作,需要不断探索和尝试新的优化思路和实践。今日头条iOS端在安装包大小优化方面已经取得了不错的成绩,但我们不会止步于此,我们将继续探索和尝试新的优化思路和实践,以进一步减小安装包的大小,提升用户体验。

如果您正在为 iOS App 的安装包大小优化而烦恼,希望本文能够给您一些启发。如果您有任何关于 iOS App 安装包大小优化的疑问或建议,欢迎在评论区留言。

附录

[1] 《干货|今日头条iOS端安装包大小优化—思路与实践》:https://mp.weixin.qq.com/s/vR47-5oGqPmslbznODP9_g