一、对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
网友评论