美文网首页
安装包瘦身

安装包瘦身

作者: orilme | 来源:发表于2018-10-06 11:59 被阅读11次

App安装包(ipa文件)是由资源(图片+文档)和可执行文件(二进制文件)两部分组成,安装包瘦身也是从这两部分进行。

1. 资源文件优化(主要指图片资源)

  • 用LSUnusedResource这个软件查找项目中没有用到的图片,然后删除,当然不一定特别准确,有一些[UIImage imageNamed:[NSString stringWithFormat:@"icon_%d",index]]这样使用的图片也会被列在未使用图片中。
  • 压缩图片资源(用imageoptim压缩图片的大小、一些比较大体积的背景图片压缩成.jpg格式的)
  • 使用Assets.xcassets来管理图片也可以减小安装包的体积

2. 代码优化

  • 技术手段排查冗余代码(删除无用类、方法、第三方库、readme文件)
  • 注意平时的开发习惯,废弃模块及早清理
  • 代码结构重构: 代码重构是对一个或者几个类的重复代码的抽象封装,使代码看上去更清晰,复用性更好。

3. Xcode编译选项优化:

(1)配置编译选项
(Levels选项内)Generate Debug Symbols 设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下;
(2)编译器优化级别
Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。
(3)去除符号信息
Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。
(4)Strip Linked Product:DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小;
(5)编译器优化,去掉异常支持。Enable C++ Exceptions、Enable Objective-C Exceptions设置为NO,Other C Flags添加-fno-exceptions

解释:
Generate Debug Symbols:这个设置在DEBUG和RELEASE下均默认为YES。调试符号是在编译时生成的。
在Xcode中查看构建过程,可以发现,当Generate Debug Symbols选项设置为YES时,每个源文件在编译成.o文件时,编译参数多了-g和-gmodules两项。但链接等其他的过程没有变化。
当Generate Debug Symbols设置为YES时,编译产生的.o文件会大一些,当然最终生成的可执行文件也大一些。
当Generate Debug Symbols设置为NO的时候,在Xcode中设置的断点不会中断。但是在程序中打印[NSThread callStackSymbols],依然可以看到类名和方法名.
Strip Linked Product:设为NO,在Xcode中设置的断点不会中断。
配置具体解释

文章推荐:
干货|今日头条iOS端安装包大小优化

相关文章

  • 【OC性能优化】安装包瘦身

    一、安装包组成二、安装包瘦身三、果速送安装包瘦身 一、安装包组成 安装包主要由项目的可执行文件和资源文件组成。 二...

  • 性能优化:iOS APP安装包瘦身

    APP安装包瘦身 安装包(IPA)主要由可执行文件、资源组成 资源优化瘦身 资源(图片、音频、视频等)采取无损压缩...

  • iOS 安装包瘦身

    iOS 安装包瘦身 一. 安装包组成 谈到 App 瘦身,最直接的想法莫过于分析一个安装包内部结构,了解其每一部分...

  • 《移动App性能评测与优化》——安装包瘦身

    安装包瘦身 从APK的组成结构可以看出,其中占用空间最大的部分就是代码和资源,所以我们要做安装包瘦身就要从代码和资...

  • iOS包瘦身其实就那么简单几步

    篇文章继续为大家讲解下iOS安装包瘦身思路。 瘦身指导原则 常规瘦身方案 压缩资源 删除无用/重复资源 删除无用代...

  • 安装包瘦身

    App安装包(ipa文件)是由资源(图片+文档)和可执行文件(二进制文件)两部分组成,安装包瘦身也是从这两部分进行...

  • 安装包瘦身

    mark:iOS APP安装包瘦身实践 清理项目中不再使用的图片资源 当我们谈论iOS瘦身的时候,我们到底在谈论些...

  • 安装包瘦身

    一不小心,也许你的安装包就过百兆了,如果项目不复杂,依赖不很多的话,估计是哪里出问题了。 1.资源 可以使用LSU...

  • 安装包瘦身

    ipa包主要有可执行文件和资源组成 资源文件(图片 音频 视频) 采取无损压缩 去除没有用到的资源 (网上找工具)...

  • 安装包瘦身

    Https和服务器的交互 服务器通过非对称加密,生成公钥和私钥,将私钥保存在服务器端,将公钥发送给客户端 客户端收...

网友评论

      本文标题:安装包瘦身

      本文链接:https://www.haomeiwen.com/subject/olscaftx.html