iOS包大小优化

2024-02-19  本文已影响0人  下班买鸡蛋

一、对link map file的分析

link map file分为三部分:

1、编译文件的路径和顺序

2、编译过程中的段(数据段和代码段),以及各段的大小

3、启动过程中的调用的方法和顺序

可以修改代码段,将代码段一部分内容取出来,因为苹果会对代码段进行加密,这会影响压缩的效率。

二、xcode编译设置

1、去掉gcc异常机制,如果用到try-catch这类的宏,去掉异常机制的话就会报错。

2、修改设置编译的指令集

3、生成调试符号会在.o里多出来对应的section,在release可以改成NO,减少.o的大小

4、在release下去除不必要的符号表信息

5、使字符串只读的选项设为YES,官方给出的解释就是这样这个字符串就可以被重用

6、消除无效代码,只对C/C++/swift这种静态语言有效,在链接后会去除掉没有被用到的代码

7、podfile中的use_frameworks!可以注释掉,通过hook的方式去选择需要设置成动态库的库

8、选择Assets.car的压缩算法

9、对连续的机器指令外联成函数进行复用:Optimization level,会减少可执行文件的大小

三、资源优化

1、优化代码

2、优化资源文件:

(1)图片压缩

(2)去除无用图片

(3)策略,减少本地图片,改为云端

具体细节来源:https://maimai.cn/article/detail?fid=1579866761&efid=3TGrvi9WKC5IclfDM-DFIQ

上一篇 下一篇

猜你喜欢

热点阅读