iOS App Thinning

iOS App Thinning

iOS App瘦身功能,不错的文章:

  • 初探 iOS 9 的 App 瘦身功能
  • App thinning overview (iOS, tvOS, watchOS)

安装包的优化,参考iPhone安装包的优化

未使用的资源

资源中未使用的资源包括图片、音视频等

图片资源

图片方面的优化,包括图片压缩和去掉项目中未使用的图片资源

1.使用ImageOptim来做图片的压缩
2.使用LSUnusedResources来查找和删除未使用的图片资源

经我自己实践,发现ImageOptim虽然可以对图片(png和jpg类型)进行压缩,但压缩后并不能显著的减小ipa的体积(还是能减小,但是不多,我所经历的项目只减少了0.2M)。有文章说是使用ImageOptim,需要将Xcode中COMPRESS_PNG_FILES设置为NO。但我这样做后,效果还是和原来一样,感觉没什么效果

但删除掉项目中未使用的资源,包括图片、音视频、html/js文件,确实是可以减小ipa包的体积的

包内容

在ipa包中,比较大的内容,主要有2个:

  • Assets.car
  • app的可执行文件

Assets.car的文件,可参考Analysing Assets.car file in IOS
使用Asset Catalog Tinkerer来查看Assets.car的内容

二进制包

可使用MachOView来查看二进制包的组成,一般都包含2种架构:

  • armv7
  • arm64

可使用LinkMap来对文件进行分析,可以知道每个类在最终的可执行文件中占据的大小,就可以有针对性的进行优化

使用的时候需要将Write Link Map File选项设为yes

为使用的类和方法

推荐使用Appcode来做代码检查,code->inspect code代码检测分析功能删除无用类和无用方法

stackoverflow中有介绍使用Xcode来查找某个类的未使用的方法,参考:

  • How to find unused code in Xcode 7?
  • Remove Unused Methods from xcode ios

有一个介绍是,使用assistant editor,选择callers,可发现某个方法是在哪些地方调用的

iOS App Thinning_第1张图片

参考

  • iOS App Thinning 实践
  • iOS-APP瘦身

你可能感兴趣的:(iOS,优化)