美文网首页
关于iOS 9 的App Thinning

关于iOS 9 的App Thinning

作者: mayqiyue | 来源:发表于2015-07-11 21:38 被阅读8361次

App Thinning

前言:周六放松下咯,正巧导师叫我看看iOS9的相关内容,而今天刚好看了苹果官方文档关于App Thinning 的介绍就顺便翻译翻译记录下~

App Thinning可以译成“应用瘦身”。指的是App store 和操作系统在安装iOS或者watchOS的 app 的时候通过一些列的优化,尽可能减少安装包的大小,使得 app 以最小的合适的大小被安装到你的设备上。而这个过程包括了三个过程:slicing, bitcode, and on-demand resources,详细的内容如下


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 流程

Slicing 的主要的工作流程如下:

  1. 在 Xcode中,选择好目标设备并且使用 asset catalog 提供多分辨率的图片资源
    只有使用 asset catalog 才能正确使Slicing作用于资源文件

  2. 在模拟器或者设备上编译并运行app

  3. Xcode 会自动构建针对你运行设备的“变种app”,同时也是为了减少编译时间和进行本地的测试

  4. 打包app(为了及时发现不同目标设备的配置错误,可以在本地为目标设备导出“变种app“,测试无误后再打包)

  5. 上传打包好的app到 iTunes connect
    App store 将会为上传的app归档创建不同的“变种app”,具体的“变种app”的数量在Xcode 的project 页面中设置

  6. 在 iTunes Connect 中, 发布一个预览版给合格的测试者进行测试

  7. 测试者通过 TestFlight 下载预览版
    TestFlight 会自动根据测试者的设备下载合适的“变种app”

Bitcode (iOS, watchOS)

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

On-Demand Resources (iOS)

ODR(on-demand resources 随需应变资源)是iOS减少应用资源消耗的另外一种方法。比如多级游戏,用户需要的通常都是他们当前的级数以及下一级。ODR意味着用户可以下载他们需要的几级游戏。随着你的级数不断增加,应用再下载其他级数,并将用户成功过关的级数删掉。

ODR流程

当用户点击应用内容的时候,就会动态从App Store上进行下载,也就是说用户只会在需要的时候占用存储空间。这项功能有趣之处还在于当将这些内容在后台进行下载之后,当存储空间紧张的时候会自动进行删除。

操作系删除放多余资源流程

相关文章

  • 程序打包发布问题

    一、iOS9新增的Bitcode概念 1、关于App Thinning iOS9之前,用户下载应用都是下载整个ap...

  • 关于iOS 9 的App Thinning

    App Thinning 前言:周六放松下咯,正巧导师叫我看看iOS9的相关内容,而今天刚好看了苹果官方文档关于A...

  • Bitcode是什么?

    Bitcode是什么? App Distribution Guide – App Thinning (iOS, w...

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

    iOS9 发布后,产生了一个使 App Thinning 无法正常运行的 bug。在iOS9.0.2 版本中,这个...

  • App Thinning

    App Thinning可以译成“应用瘦身”。指的是App store 和操作系统在安装iOS或者watchOS的...

  • iOS App Thinning 实践

    App随着版本迭代、业务扩张、人员更迭、架构变更使项目变得越来越臃肿。废弃的业务代码、冗余无用的类方法和声明、无用...

  • Bitcode

    什么是 Bitcode 首先我们需要了解苹果的 App Thinning 计划,该计划对 iOS 和 WatchO...

  • app包大小优化

    1.官方 App Thinning 官方推出的改善App下载进程的技术 因为现在ios设备屏幕尺寸,分辨率越来越多...

  • 安装包从资源和代码层面实现瘦身

    App Thinning图片、架构优化 App Thinning 后,用户下载时就只会下载一个适合自己设备的芯片指...

  • App Thinning

    目前各个第三方平台正在进行对App Thining的支持(也就是说并不完全支持),所以为正常使用第三方SDK及分享...

网友评论

      本文标题:关于iOS 9 的App Thinning

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