当我启动我的应用程序时,我得到的启动屏幕大约2-3秒,然后我的第一个UIViewController出现。
有时,我的ViewDIdAppear在UIViewController真正出现之前就被调用了。
我有一个相当大的故事板(15个屏幕)。
我有一些从UserDefaults签下的标志(用户登录了.),并初始化了crashlytics和GCM。
因此,标志和初始化似乎不是问题所在。
我检查了系统的时间差,似乎没问题。
对调试慢速启动有什么想法吗?
发布于 2016-03-28 21:09:46
在Xcode中:产品->配置文件
选择“时间分析器”
运行此工具将给您在程序中的每个方法上花费的时间,并且它将以分层结构给您提供这些信息。这应该让你知道大部分时间是在哪里度过的。请记住,检测会增加额外的开销,因此绝对时间值可能不正确,但如果您需要调试此问题,则每个方法所花费的时间比例是不正确的。
下面是一个好看的教程 (尽管使用的是旧版本的Xcode),展示了如何使用这个工具。

发布于 2017-05-24 07:19:41
如果慢点来自初始化时间,时间分析器将不会对您有所帮助。在此期间,您的代码还没有运行,因此时间概要文件将不会记录任何内容。您可以通过“编辑方案”、运行->环境变量、添加值为1的DYLD_PRINT_STATISTICS、添加值为1的DYLD_PRINT_STATISTICS,让xcode打印出启动所需的时间。理想情况下,您希望启动时间小于400 is,大约是打开动画的长度。通过删除use_frameworks,我可以将我的启动时间缩短一半!来自cocoapods。通过删除未使用的外部库,我又把它切成了两半。
有一个伟大的苹果讲座的主题是:https://developer.apple.com/videos/play/wwdc2016/406/
https://stackoverflow.com/questions/36240399
复制相似问题