0

我有一个存在一些性能问题的 iOS 应用程序。特别是,当用户在特定的 Core Data 支持的 UITableView 中选择一个项目时,在 UI 更新之前会有延迟。由于目前应用程序中的多线程非常少,我猜我正在某个地方进行方法调用,该方法调用花费了太长时间并阻塞了 UI 线程。

单步执行代码并没有向我透露任何信息。(也许是因为问题出在运行循环的另一次旅行中?不确定......我是一个可靠的 iOS 开发人员,但在调试和分析工具方面是新手。)

解决此类问题的最佳方法是什么?某种方式来逐步执行或跟踪线程正在按顺序执行的操作以及每个调用需要多长时间,或者其他什么?

谢谢。

4

2 回答 2

0

查看 Instruments 中的 Time Profiler。请参阅WWDC 2012 - Building Concurrent User Interfaces on iOS,以实际演示如何使用分析器识别您可能希望放入后台队列以避免阻塞主队列的候选方法。

有关 Instruments 工具的基本描述,请参阅Instruments 用户指南,但我认为 WWDC 视频是熟悉此特定工具 Time Profiler 的更有效方式。此外,如果您从未使用过并发 Core Data,您可能还想查看Core Data Programming Guide的Concurrency with Core Data部分。

于 2012-12-06T17:01:12.123 回答
0

我将支持Rob所说的:您会更容易地发现您的应用程序Time Profiler在使用Instruments. Rob 的所有参考资料都很好,特别是来自 WWDC 的参考资料。我也遇到了这个涵盖基础知识的教程mobile tuts

于 2012-12-06T17:10:12.843 回答