iOS从资源和代码方面为App瘦身处理

前言

学如逆水行舟,不进则退。共勉!!!
iOS学习资料包|领取地址
今天主要是给大家分享一下iOS从资源和代码方面为App瘦身处理。

正文

对App包瘦身处理是为了减少包的大小,节约用户下载App流量。在App Store下载App,如果超过了150MB就必须在Wi-Fi环境下载或更新,这样如果超过了150M,可能就会间接失去了大部分用户。如果我们的App要兼容iOS7和iOS 8,苹果官方规定:主二进制text段的大小不能超过60M,如果超过这个标准,就没办法向App Strore提交审核。

下面这张表格列举了当前国内外的部分常用App的包大小。
在这里插入图片描述
通过上面的表格可以看出目前包少于150M的只有网易云音乐,Instagram,Twitter 。那么作为开发者可以通过哪些方法对自己的App包大小做优化处理呢?

1、苹果提供的 App Thinning

我们知道不同的设备的屏幕大小、分辨率、CPU、GPU、硬盘大小等都不相同。针对这种情况,苹果官方为开发者提供了 App Thinning技术,对于不同设备提供只适用当前设备的包为用户提供下载。如iPhone 5C只会下载适用于32位运行芯片的库和2x的图片资源的包,iPhone 8P则会下载适用于64位的库和3x的图片资源。

苹果关于App Thinning的介绍请看:
App Thinning in Xcode视频
App Thinning官方文档
1)、App Thinning有三种方式: App Slicing,Bitcode、On-Demand Resources。

  • App Slicing:iOS9之后苹果官方出的解决方案,在向iTunes Connect上传App包后,对App做切割处理,创建不同的变体包,这样就可以适用到不同的设备;
  • Bitcode:也是iOS9之后苹果给出的解决方案,针对特定的设备进行包大小优化。
  • On-Demand Resources:主要是为又下多关卡的情况服务的,On-Demand Resources会根据用户的关卡下载进度下载随后几个关卡的资源,并且已经过关的资源会被干掉,这样可以减少初始App包的大小。
    (2)、那么如何在项目中适用App Thinning呢?

(2.1) 、 Slicing的使用

在使用App Slicing的时候,大部分工作是由Xcode和App Store来完成的,开发者本身不需要做任何事情。在开发中只需要创建xcassets目录,然后将图片加入其中即可。在创建一个工程的时候Xcode会默认为开发者创建一个名为Assets.xcassets的目录,在开发过程中只要把图片资源加入其中即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值