iOS App 安装包瘦身指南

以下列出了安装包瘦身的无脑执行流程,其中“奇技淫巧”部分为选做题

  • 资源优化

    • 删除无用图片

    • 删除重复资源
    • 压缩图片资源
      • 使用ImageOptim无损压缩图片
      • 使用TinyPNG有损压缩图片
        • TinyPNG非常好用强烈推荐
        • 使用的时候直接执行 tinypng *.png -k token 脚本即可
    • 奇技淫巧
      • 用LaunchScreen.storyboard替换启动图片
      • 本地大图片都使用webp
      • 资源按需加载,非必要资源都等到使用时再从服务端拉取
  • 编译选项优化
    • Optimization Level在release状态设置为Fastest,Smallest
    • Strip Debug Symbols During Copy在release状态设置为YES
    • Strip Linked Product在release状态设为YES
    • Make String Read-Only在release状态设为YES
    • Dead Code Stripping在release状态设为YES
    • Deployment PostProcessing在release状态设为YES
    • Symbols hidden by default在release状态设为YES
  • 可执行文件优化
    • 使用LinkMap分析库的使用情况
    • 三方库优化
      • 删除不使用的三方库
      • 功能用的少但是体积大的三方库可以考虑自己重写
      • 合并功能重复的三方库
    • 代码分析
      • 用AppCode进行代码扫描
      • 去掉无用的类及文件
      • 清理import
      • 去掉空方法
      • 去掉无用的log
      • 去掉无用的变量
      • 反正把能去掉的都去掉
    • 奇技淫巧
      • 将业务打包成动态库
      • 动态化。将一部分Native界面用Weex重写
      • 去除Swift代码,Swift的标准库是打包在安装包里的,一般都有10M+。然后苹果爸爸说等到Swift Runtime稳定之后会合并到iOS系统里,那时候使用Swift就不会显著增加包大小了
      • 在target->Build Settings->Other Link Flags里添加如下指令,会把TEXT字段的部分内容转移到RODATA字段,避免苹果对TEXT字段的审核限制。当然其实跟安装包瘦身好像没有什么关系,所以除非快不行了否则不建议操作 =。=

        -Wl,-rename_section,__TEXT,__cstring,__RODATA,__cstring
        -Wl,-rename_section,__TEXT,__gcc_except_tab,__RODATA,__gcc_except_tab
        -Wl,-rename_section,__TEXT,__const,__RODATA,__const
        -Wl,-rename_section,__TEXT,__objc_methname,__RODATA,__objc_methname
        -Wl,-rename_section,__TEXT,__objc_classname,__RODATA,__objc_classname
        -Wl,-rename_section,__TEXT,__objc_methtype,__RODATA,__objc_methtype
  • 跟着苹果爸爸走
    • App Thinning

      • 使用xcasset管理图片
    • 开启BitCode
时间: 2024-09-09 02:51:44

iOS App 安装包瘦身指南的相关文章

我的Android进阶之旅------>Android APP终极瘦身指南

首先声明,下面文字转载于: APK瘦身实践 http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ APP终极瘦身指南 http://www.jayfeng.com/2016/03/01/Android-APP%E7%BB%88%E6%9E%81%E7%98%A6%E8%BA%AB%E6%8C%87%E5%8D%97/                                           

iOS9 App Thinning(应用瘦身)功能介绍

iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(App Store)下载应用时,请注意这点. iOS9 推出之后,大受欢迎.仅仅数周,已经有超过半数的 iOS 设备安装了这一新系统.这是 iOS 历代版本中采纳速度最快的-甚至打破了 2013 年 iOS7 创下的记录. 关于 iOS9,笔者最近发表了一篇名为Search APIs and SFSaf

Android应用瘦身,从18MB到12.5MB

开篇语 前阵子老大交给了我一个任务,主要是帮我们开发的直播应用做 Android 端的安装包瘦身,花了大概一周的时间把安装包从 18MB 减小到了 12.5MB.原本完全可以优化到 10MB 之下,但由于其他原因的限制,所以目前阶段只到 12.5MB 为止.在此记录一下优化的思路和用到的工具,方便自己以后 Review ,有需要的童鞋也可供参考. 瘦身的目的 从目的导向来看,我们是不会无缘无故去做一件事情的,那我们对应用瘦身的目的是为了什么?答案是:提高下载转化率.什么是下载转化率?举个栗子:你

致Android开发者:APP 瘦身经验总结

随着移动端产品功能的逐渐增加,APP 的体积也不可避免地呈现上升趋势,如果不加以重视,几个版本迭代下来,可能你的 APP 体积会达到用户不能忍受的程度. 如果你是 SDK 开发者,你的 SDK 包大小是用户决定是否采用的关键因素:如果你的APP 想要预装到某款手机或者某款 Android 系统中,APP 的体积也会受到很严格的限制. 因此,APP 的瘦身是每个移动端产品都会遇到的一个普遍问题,本文选自<Android高级进阶>将从不同的角度切入,全面介绍APP 瘦身相关知识. APP 为什么变

iOS9系列专题三——应用瘦身

更小,更快--iOS9的App Thinning         apple在iOS9中引入了一套新的app瘦身方案,通过一些优化策略,将尽可能的减小app安装包的体积.这部分的大多工作是由app store来完成,开发者并不需要付出太多额外的开销.这篇博客将这部分内容做了简单的介绍,详细信息在App Thinning.         App的瘦身策略主要包括三部分: 一.slicing         这部分的主要原理是不同的设备下载安装不同的app包,各个app包副本中包含相应尺寸的素材.

iOS - Bitcode App 瘦身中间码

1.Bitcode 随着 Xcode7 的发布,Apple 提供了一项新的技术来支持 App 瘦身功能,那就是 Bitcode. 1.BitCode 是什么 Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the store. Including

ios开发中能不能用一个app去下载另一个app的安装包并自动安装

问题描述 ios开发中能不能用一个app去下载另一个app的安装包并自动安装 需求:有一个主APP,用来下载其他APP,比如下载完成后自行安装到主APP中(就像插件),然后会产生一个图标,点击这个图标就会启动新安装的APP,当安装这个APP后又返回到主APP中.---------有点像Iphone的桌面. 有没有大神知道类似的实现方法. 解决方案 你看看腾讯的qq农场,其中需要跳转到qq牧场的时候就和你的情况一样,ps:QQ农场和qq牧场是俩app 解决方案二: 一般来说都是跳到APP stor

嫌APP功能肿胀?5个大神级方法帮你完美瘦身!

  编者按:移动端App越来越胖了.越来越多的新特性正在啃蚀着大型App的用户体验,瘦身减肥也成了亟待解决的问题.手心手背都是肉,这一身肥膘要怎么减呢?来看看腾讯ISUX的死猫君的处方吧,五大秘技,不要错过哟~ 先来看一张图: 图上看到,所有平台上用户花费时间都在减少,除了移动端.观察身边也是如此,回家不开电脑的小伙伴越来越多.手机平板加电视,下班场景全搞定.连那些以前电脑苦手的长辈,现在也都活跃在朋友圈上,无责任转发各种小道消息.心灵鸡汤以及人生真谛. 上次在朋友圈发了一张图,晒同事"中二病&

Android App瘦身实战

随着业务的快速迭代增长,不断引入新的业务逻辑代码.图片资源和第三方SDK等,很多app都面临一个一个结果,app越来越大,甚至很多无用的代码,包体积的增大带来了很多问题,诸如app启动更慢,代码维护越来越困难.公司业务发展到一定程度之后,重构,代码优化,app瘦身成为不得不做的一个任务.这里以xx外卖app为例给大家讲讲app瘦身过程中常用的几种方法(也都是网上老生常谈的). apk文件构成 我们可以用Zip工具打开APK,一个常见的APK结构如下: 可以看到APK由以下主要部分组成: 文件/目