待读清单程序员

pod update耗时的简单分析

2017-11-09  本文已影响43人  CoderDancer

CocoaPods中,pod install只会对.podfile中,新的库版本进行分析,并升级到podfile中的指定版本。

区别于pod installpod update会到cocoaPods的仓库地址中,去比对podfile文件中,依赖的文件进行版本比对和按情况升级。

pod update通常是比较耗时的操作,至于原因,本文会对CocoaPods在执行pod update时的耗时影响做了简单分析:

pod update的5个步骤:

1. resolve_dependencies
    * update repo(升级仓库文件,下载至本地)
    * 解析podfile
2. download_dependencies(下载podfile中的依赖及其间接依赖)
3. generate_pods_project(即生成dependency在Pods工程中的target,以及写pod file.lock等文件)
4. integrate_targets
5. perform_post_install_actions

pod update的几个步骤,项目不同,耗时不同。

耗时分析

但针对几个不同的步骤,其耗时状况如下:

步骤 影响因素 耗时状况
resolve_dependencies 轻量化操作,耗时很少
download_dependencies 1. 有缓存明显好于无缓存 2. 需要升级的依赖库越耗时
generate_pods_project 需要update的依赖库越多越多,越耗时 较多
integrate_targets 常规操作,耗时少,影响因素少
perform_post_install_actions 常规操作,耗时少,影响因素少

当然耗时的很大的影响因素就是网络状况。
国内开发环境下,很多人用淘宝的镜像就是这个原因,但可以翻墙的情况下,其影响较小。

结语

但坦白来说,pod update的耗时很大程度上取决于依赖库的多少,所以开发者在选择依赖库时,择优而取。

上一篇下一篇

猜你喜欢

热点阅读