美文网首页iOS开发
iOS 应用瘦身实践记录

iOS 应用瘦身实践记录

作者: 十三_Black | 来源:发表于2019-01-30 12:59 被阅读227次

\color{#ff00ff} { IPA包瘦身变化: 83 M ---> 50M以下 }

1、配置编译选项

    generate debug symbols  = YES

这个会设置会跳过断点,可以在 release下设置为NO(可能会影响CrashReporter的使用),但我试的没有什么变化 依旧是83 M

2.舍弃部分架构

现在我们项目的架构为  armv7s、armv7、arm64

模拟器 32 为处理器 i386架构(iPhone5,iPhone5s以下的模拟器)
模拟器 64 为处理器 x86_64架构(iPhone6以上的模拟器)
模拟器 32 为处理器 armv7或者 armv7s架构(iPhone4真机/armv7, iPhone5,iPhone5s真机/armv7s)
模拟器 64 为处理器 arm64架构(iPhone6以上的真机)

架构选择.png
舍弃 armv7后 体积缩小为 62.1 M,如果你们机型统计中有iPhone4用户那就谨慎使用,可以和领导沟通后选择处理方案。

3、dead code stripping 去除被定义但未被调用的代码

dead code stripping.png
    dead code stripping = YES 

设置后 体积缩小为 60.7 M

4、压缩 Images.xcassets 下的图片资源

图片压缩之后 体积缩小为 56.8 M

之所以压缩图片,是因为我在解压IPA包查看包内容时,发现这里的图片资源所占体积还是挺大的,于是也处理了一下这里的资源,这块可以让UI给压缩好的图片也可以自行选择压缩工具,我使用的是一个在线工具,https://tinypng.com/ 效果挺好,能压缩 70%左右,就是每次只能压缩20张。

5、压缩部分其他资源图片

图片压缩之后 体积缩小为 52.6 M(这里只压了其中一部分)

我们项目是组件化开发的,在网上搜索图片资源大小是不占IPA包体积的,我有点好奇,所以也尝试着压缩了一些图片,发现影响还蛮大,可能是因为我们垃圾图片比较多。另外推荐一款不错的垃圾图片检测(https://github.com/onevcat/FengNiao),他能检测出未使用的图片资源。效果挺好,但也有一些检测不到,或者有些图片是通过拼接使用的 [NSString stringWithFormat:@"xxx_%ld",1]; 这时候可能也会被误认为未使用,不过检测之后可以查看检测的结果选择性的移除。

6、去除符号信息(xcode默认处理)

strip debug symbols during copy 和 symbols hidden by default 在release版本应该设为yes,可以去除不必要的调试符号。symbol hidden by  default 会把所有的符号定义为 private extern。设了后会缩小体积
debug 下 设置为 NO
release 下 设置为 YES

strip debug symbols during cop  
    debug = NO, release = NO

symbols hidden by default     
    debug = NO, release = YES

7、strip linked product : debug 下设为NO,release下设为 YES,用语release模式下缩减APP的大小(xcode默认处理)

strip linked product 
  debug = NO, release = YES

8、Optimization Level (xcode默认处理)

release下选择 Fastest Smalllest,

相关文章

  • iOS 应用瘦身实践记录

    1、配置编译选项 这个会设置会跳过断点,可以在 release下设置为NO(可能会影响CrashReporter的...

  • iOS代码瘦身实践

    iOS代码瘦身实践 iOS代码瘦身实践

  • iOS应用瘦身实践

    常见操作 1、删除项目中冗余的图片资源 工具-LSUnusedResources Tips:要选中 ignore ...

  • 漫谈iOS的应用瘦身

    漫谈iOS的应用瘦身

  • iOS应用程序瘦身的静态库解决方案

    iOS应用程序瘦身的静态库解决方案 iOS应用程序瘦身的静态库解决方案

  • iOS应用包瘦身实践总结

    一.资源级别 1. 剔除被工程引用但没有实际使用的资源文件 应用包中的资源文件包括图片资源、音频资源、视频资源以及...

  • 安装包瘦身

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

  • iOS应用瘦身

    App Thinning 三个组成部分: App Slicing、 Bitcode和OnDemand Resour...

  • iOS应用瘦身

    1.Slicing针对设备机型创建相应的应用变体将代码转换为中间代码的方式,放在appstore。大部分的第三方库...

  • Android应用瘦身实践

    参考文章 APK瘦身记,如何实现高达53%的压缩效果 Android APP终极瘦身指南 优化效果 优化前包大小是...

网友评论

    本文标题:iOS 应用瘦身实践记录

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