【发布时间】:2016-03-07 01:57:35
【问题描述】:
我有一个 iOS Xcode 项目,以前加载速度很快,但现在加载过程中会时不时地挂起 5 秒或更长时间。当应用程序在 iPhone 上运行时,启动屏幕会立即显示,但有时,并非总是如此,而且出乎意料的是,应用程序只会挂起大约 5 秒或更长时间,直到显示实际界面。它在不同 iOS 版本 7、8、9 的模拟器和设备上都发生。
最近,一个包含 drawRect 函数的 UIView 的类发生了轻微的变化,它与其中一个 ViewController 有一个出口连接,但总体上没有重大变化。一个 ViewController 在 ViewDidLoad、ViewWillAppear、ViewDidAppear 函数中有代码。我正在调查所有这些事情是否会影响加载时间。
当我终止应用程序时,下次我尝试运行它时,它会以超快的速度加载而不会出现问题。我不知道如何处理这种加载行为。
问题
1 - 我可以在 Xcode 中使用哪些方法来调试在不规则和不可预测的时间缓慢加载的应用程序?
2 - 我应该注意项目中哪些明显的项目,这些项目通常会导致加载时间缓慢或延长?
3 - Xcode 是否包含工具来监控加载时实时运行的进程?
4 - 是否可以打印我可以查看的加载过程的输出?
非常感谢任何有经验的建议。谢谢。
【问题讨论】:
-
确认一下,这发生在运行您的应用程序的设备上,未连接到 Xcode 或调试器?
-
@sschale 是的,没错,在设备上运行,未插入或连接到 Xcode。
-
“不可预测”是指稀有吗?如果您在绑定 Xcode 的模拟器中运行应用程序 10 或 20 次,其中一个会启动缓慢吗?如果您可以经常重现问题,那么调试起来会容易得多。此外,如此长的延迟通常表明网络,因此在关闭网络的情况下进行测试,看看它是否更可靠地挂起(更好的是保持网络打开但不进行路由,但如果你不控制你的网络)。
-
不管怎样,同意@Carlos,你应该尝试在 Instruments 上捕捉可能出错的东西。
-
因此,可能每十次在模拟器中加载一次。设备一段时间未使用后,它可能会加载缓慢,但并非总是如此。
标签: ios iphone xcode swift optimization