ios - 如何在 Xcode 中调试间歇性缓慢的 iOS iPhone 应用程序加载时间?

标签 ios iphone xcode swift optimization

我有一个 iOS Xcode 项目,以前加载速度很快,但现在有时会在加载过程中挂起五秒或更长时间。当应用程序在 iPhone 上运行时,启动屏幕会立即显示,但有时(并非总是如此),应用程序会意外地挂起大约 5 秒或更长时间,直到显示实际界面。它发生在模拟器和设备上,跨不同的 iOS 版本 7、8、9。

最近,一个包含 drawRect 函数的 UIView 类发生了轻微的变化,它有一个连接到其中一个 ViewController 的导出连接,但总体上没有重大变化。一个 ViewController 在 ViewDidLoad、ViewWillAppear、ViewDidAppear 函数中有代码。我正在调查所有这些事情是否会影响加载时间。

当我终止该应用程序时,下次我尝试运行它时,它加载速度非常快,没有问题。我不知道如何理解这种加载行为。

问题

1 - 我可以在 Xcode 中使用哪些方法来调试在不规则和不可预测的时间缓慢加载的应用程序?

2 - 在项目中我应该注意哪些明显的项目通常会导致加载时间缓慢或延长?

3 - Xcode 是否包含在加载发生时实时监控进程运行的工具?

4 - 是否可以打印我可以查看的加载过程的输出?

非常感谢任何有经验的建议。谢谢。

最佳答案

不确定您是否看过仪器。这是确定您的应用是否存在此类问题的最佳方式。

https://developer.apple.com/library/watchos/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/index.html

When I terminate the app, the next time I try running it, it loads super fast without issue. I have no idea what to make of this load behavior.

您是说退出应用程序吗?还是真的杀了它?如果是前者,则原因是应用程序刚刚从挂起状态启动。

我建议您仔细查看 didFinishLaunchingWithOptions:,并检查您是否正在做一些花费了比需要更多时间的事情。使用时间分析器工具运行您的应用程序,它会告诉您瓶颈在哪里。

关于ios - 如何在 Xcode 中调试间歇性缓慢的 iOS iPhone 应用程序加载时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35830297/

相关文章:

iPhone UIDatePicker 在横向模式下?

iphone - 使用方向调整多个 ImageView 的大小

xcode - 碰撞时将节点粘到另一个节点

objective-c - clipToBounds 和 masksToBounds 性能问题

ios - Swift 中的数组 - 如何添加图像

ios - 如何在我的 iPhone 应用程序中使用支付网关

iphone - Apple 文档 "Data Formatting Guide"中的 NSNumberFormatter 错误

iphone - 即使使用自动布局,在 4 英寸屏幕上创建的布局在 3.5 英寸屏幕上也会变得困惑

iphone - 如何手动调用UITableView的titleForHeaderInSection方法?

ios - cocos2d-x 在 Xcode 中移植 iOS 应用程序时架构 x86_64 的 undefined symbol ?