zoukankan      html  css  js  c++  java
  • iOS 优化ipa包,减小安装包大小

    https://www.jianshu.com/p/a49d59b01669

    项目打包之后.ipa包的大小是118.9M,上传到App Store后iPhone6s上显示85.5M,下载时间太长,所以找了一些优化方法,下面这些都是别人写的自己试了一下确实好用,不是原创,只是记录一下。


    1、配置编译选项 

    (Levels选项内)Generate Debug Symbols  设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下

     
     

    2、舍弃架构armv7

    armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。

     
     

    3、去除无用的三方库、代码、readme

    4、图片处理

    图片是安装包里占用空间最大的东西,我的项目中占用了一半的体积。

        *用imageoptim压缩图片的大小

        *一些比较大体积的背景图片压缩成.jpg格式的。

        *用LSUnusedResource这个软件查找项目中没有用到的图片,然后删除,当然不一定特别准确,有一些[UIImage imageNamed:[NSString stringWithFormat:@"icon_%d",index]]这样使用的图片也会被列在未使用图片中。

       *使用Assets.xcassets来管理图片也可以减小安装包的体积

    5、build setting 里 DEAD_CODE_STRIPPING = YES(好像默认就是YES)。 确定 dead code(代码被定义但从未被调用)被剥离,去掉冗余的代码,即使一点冗余代码,编译后体积也是很可观的。

     
     

    6、编译器优化级别

    Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。

     
     

    7、去除符号信息

    Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。

     
     
     
     
     

    8、Strip Linked Product:DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小;

     
     

    2018.7.17新增

    9、编译器优化,去掉异常支持。Enable C++ Exceptions、Enable Objective-C Exceptions设置为NO,Other C Flags添加-fno-exceptions

     
     

     
     

    Enable C++ Exceptions
     
    Enable Objective-C Exceptions
     
    Other C Flags添加-fno-exceptions

    10、利用AppCode 检测未使用的代码:菜单栏 ->Code->InspectCode

    最后要说:xcode BulidSetting中的设置都可以区分debug和release,如果觉得在开发的时候还想用到这些,就把debug和release分开设置就可以了



    作者:Missmiss懵
    链接:https://www.jianshu.com/p/a49d59b01669
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    hdu 4027 Can you answer these queries? 线段树
    ZOJ1610 Count the Colors 线段树
    poj 2528 Mayor's posters 离散化 线段树
    hdu 1599 find the mincost route floyd求最小环
    POJ 2686 Traveling by Stagecoach 状压DP
    POJ 1990 MooFest 树状数组
    POJ 2955 Brackets 区间DP
    lightoj 1422 Halloween Costumes 区间DP
    模板 有源汇上下界最小流 loj117
    模板 有源汇上下界最大流 loj116
  • 原文地址:https://www.cnblogs.com/sundaysgarden/p/11927728.html
Copyright © 2011-2022 走看看