在XCode 6.0.1中使用仪器进行性能分析时应用程序挂起

时间:2014-10-15 18:54:25

标签: ios objective-c xcode xcode6 instruments

我观察到,每当我使用XCode 6.0.1中的工具分析我的应用程序时,应用程序每次浏览应用程序时都会挂起。我正在使用iPhone 5S(iOS 8.0.2)来运行我的应用程序。当我在设备上运行应用程序时,它运行良好。任何人都面临类似的问题,并知道解决方法,请告知。

4 个答案:

答案 0 :(得分:17)

发现修复 - 禁用NSLog语句(发布时的分析而不是调试)解决了我的问题。

答案 1 :(得分:2)

根据Abhinav的正确答案,NSLog()确实引发了这个问题,但不是所有的NSLog,只有一些非常大的NSLog。在我的情况下,我记录了一些来自Web服务的长响应,只评论那些解决了文书挂起的问题。我想这就是为什么这个问题不像你想的那么广泛(我在Apple的开发论坛上找不到任何引用)的原因。

答案 2 :(得分:1)

我刚刚解决了同样的问题,结果却是由其他原因造成的。我不是100%确定我的代码的哪一部分负责,但它与访问互联网有关。所以我已经切换到飞机模式等瞧! 所以我的结论是,一个网络请求挂起了主线程(只有在运行Instruments时 - 很奇怪)并且如果其他人遇到类似问题,请尝试查找可能会挂起主线程的内容。

希望节省一些时间:)

Ž。

答案 3 :(得分:0)

请按照以下步骤操作:

  1. 在您的设备上运行应用。如果您在编辑方案菜单中设置发布版本会更好。
  2. 转到 Navigator 上的调试导航器部分(Xcode中的左侧菜单)。
  3. 点击 CPU
  4. 点击文章中的个人资料,然后选择转移
  5. 仪器将运行 Time Profiler 。然后在顶部面板中单击按钮(看起来像“+”)。
  6. 将打开库菜单。您需要选择您的乐器。