App Thinning (iOS9)会自动检测用户的设备类型(即型号名称)并且只下载当前设备所适用的内容。换句话说,如果你使用的是 iPad Mini 1(1x分辨率且非 retina 显示屏)那么只会下载 1x分辨率(下文会有更多介绍)所使用的文件。更强大和更高分辨率的 ipad(如iPad Mini 3或 4)所使用的资源将不会被下载。因为用户仅需下载他/她自己当前使用的特定设备所需的内容,这不仅加快了下载速度,还节约了设备的存储空间。

App Thinning 主要有以下三个方面**:App Slicing(应用程序的划分),Bitcode以及按需加载资源。**

App Slicing
App Slicing在节省应用所需资源中发挥着最重要的作用。
很多应用需要在不同尺寸的设备上运行,针对这些不同的设备,它们内含不同的独立资源,而大部分是你的设备不需要的。所以App store会针对不同的设备制作不同的“简化版App”,当你下载app时候只需要下载不同的“简化版app”就可以了
比如用户使用的是iPhone 5c,它运行的是32位CPU和GPU,并不支持Metal API。但如果用户下载的是一款最新的通用游戏应用,它的二进制中含有64位代码,iPad和“3x”iPhone 6 Plus 资源以及Metal API代码,这些都是你的设备用不上的。它只需要32位代码,“2x”iPhone尺寸资源以及OpenGL图形代码。

Slicing 的主要的工作流程如下:
1、在 Xcode中,选择好目标设备并且使用 asset catalog 提供多分辨率的图片资源
只有使用 asset catalog 才能正确使Slicing作用于资源文件
2、在模拟器或者设备上编译并运行app
3、Xcode 会自动构建针对你运行设备的“简化版app”,同时也是为了减少编译时间和进行本地的测试
4、打包app(为了及时发现不同目标设备的配置错误,可以在本地为目标设备导出“简化版app“,测试无误后再打包)
5、上传打包好的app到 iTunes connect。App store 将会为上传的app归档创建不同的“简化版app”。
6、在 iTunes Connect 中, 发布一个预览版给合格的测试者进行测试
7、测试者通过 TestFlight 下载预览版。TestFlight 会自动根据测试者的设备下载合适的“简化版app”。

Bitcode (iOS, watchOS)
Bitcode是一个编译好的程序的中间表示形式。上传到 iTunes Connect 中的包含Bitcode的app 将会在 App store 中进行链接和编译。苹果会对包含Bitcode的二进制app进行二次优化,而不需要提交一个新的app版本到app store中

按需加载资源
想要充分理解 App Thinning,你必须理解按需加载资源(On Demand Resources , ODR)。按需加载资源是在 app 第一次安装后可下载的文件。这个机能简单的说,就是在下载app的时候,app中包含的不重要资源不下载,等到需要时,在由系统向苹果的server发送请求,下载这些资源包。举例说明,当玩家解锁游戏的特定关卡后可以下载新关卡(和这个关卡相关的特定内容)。此外,玩家已经通过的关卡可以被移除以便节约设备上的存储空间,。。
开启按需加载资源功能涉及改变 Xcode 中的设置(在编译设置(Build Settings)下),将「启用按需加载资源”选中为 是」 。

苹果原文链接
https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f

App Thinning(应用瘦身)功能介绍相关推荐

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

    iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...

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

    iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug.在iOS9.0.2 版本中,这个 bug 已经被修复,App Thinning 已经可以正常使用.当你从应用商店(Ap ...

  3. Android App安装包瘦身计划

    Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文内容归纳如下图: 为什么要安装包瘦身 安装包需要瘦身吗? 不需要吗? 安装包要瘦身的主 ...

  4. windows7 系统盘 瘦身软件介绍: 冗余文件清理工具

    注: 本人所写的文章只是经验分享,不代表本人所在的公司,也不是为了找工作,本人热爱和尊敬公司的每一位领导,谢谢. windows7 瘦身软件介绍: 冗余文件清理工具,可以清除c:\windows\in ...

  5. 再介绍一款 windows7 瘦身软件介绍: windows 冗余文件清理工具

    注: 本人所写的文章只是经验分享,不代表本人所在的公司,也不是为了找工作,本人热爱和尊敬公司的每一位领导,谢谢. 再介绍一款 windows7 瘦身软件介绍: windows 冗余文件清理工具 此软件 ...

  6. iOS App 安装包瘦身指南

    以下列出了安装包瘦身的无脑执行流程,其中"奇技淫巧"部分为选做题 资源优化 删除无用图片 使用LSUnusedResources查找无用图片 删除重复资源 压缩图片资源 使用Ima ...

  7. 贝壳找房APP安装包瘦身

    一.背景 在满足产品.UI要求的前提下,尽量减少安装包体积. 以customer插件为例: 插件大小为5MB, 其中1MB是dex,而bkbase占了dex的580KB: 3.1MB是图片. 减少re ...

  8. 视频直播的发展,一对一视频直播APP的优势和系统软件功能介绍

    国内直播市场日渐成熟完善,小编最早是在零几年开始知道直播的,那个时候做得比较好的有六间房这种,都是以颜值,唱歌为主的,一对多直播,2016年被认为是"中国网络直播元年",感觉真是万 ...

  9. P图软件瘦脸眼睛放大和手动瘦身功能

    一直以为是OpenCV写的没想到OpenGL能够做的东西比我想象的多. https://blog.csdn.net/zfgrinm/article/details/79291693 https://b ...

最新文章

  1. 如何使用SAP零售系统中的LISTING?
  2. CSDN Markdown编辑器的使用
  3. Windows操作系统启动介绍(二)
  4. iOS UI 18 数据库
  5. 中文设置_lol手游台服怎么设置中文?lol手游台服中文的具体设置教程
  6. JQuery jsonp使用小记
  7. 什么叫做形态学图像处理_Python图像处理膨胀与腐蚀
  8. error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio“: https://
  9. 拜尔滤色拜尔滤色镜_如何在Windows 10上启用滤色器以更清晰地阅读屏幕
  10. 30系列NVIDIA显卡安装tensorflow 极简
  11. 【重点】心田花开|人教版小学一年级语文上册汉语拼音
  12. CANoe 入门 _CAPL编程
  13. CVPR2017 | G-RMI_Google大佬构建的姿态估计baseline
  14. Pycharm设置http代理
  15. Linux 中用 dd 命令来测试硬盘读写速度
  16. 用Python让你完成一次绝美樱花视觉体验瞬间陷入二次元~
  17. 华为机试+一面+终面面经
  18. 平方求和、立方求和公式
  19. 考古学家质疑古埃及法老是外星人后代(图)
  20. umeditor的使用教程

热门文章

  1. ais文件还原到mysql_金蝶kis系列数据库(.ais)打开与账套恢复办法
  2. w10计算机无法启动不了怎么办,win10开不开机怎么办_win10电脑无法开机的解决步骤...
  3. C语言之动态内存开辟之malloc
  4. android 日历翻页动画,Android开源库合集:轻松实现Android动态,炫目:日历效果...
  5. win10系统如何进入BIOS
  6. wegame服务器维护启动游戏失败,wegame连接服务器失败
  7. php gd表情包,gd表情包
  8. 什么样的鞋影响骨骼生长
  9. 【全文翻译】Membership Inference Attacks Against Machine Learning Models
  10. 简单实现微信小程序音乐音频播放的功能