2012-02-17 35 views
2

有什么方法可以检测主线程何时被锁定/繁忙(也就是不会响应触摸事件)?当主线程被锁定/繁忙时检测(IOS)

可能的方向 检查dispatch_get_main_queue的大小(但我不知道如何处理这个对象,看它的大小)

[UIApplication的sharedApplication] isIgnoringInteractionEvents] 但这种方法只适用的时间

部分
+0

你能给我们更多的背景吗?你为什么想这样做? – 2012-02-17 03:37:21

+0

您可能想要这样做来提高应用程序的响应速度。我也试图找到一种方法来检测阻止主线程超过X秒的调用。当然,您可以使用Time Profiler,但它不会显示ui线程(主线程)被阻止的绝对时间。 – 2013-05-03 07:25:31

+0

您可以尝试打印正在运行的线程的ID号,然后获取当前运行线程的直觉。 – 2013-05-03 12:42:04

回答

2

使用仪器工具“时间分析器”,然后找到什么阻塞你的主线程的线索。

例如: 我发现一个方法正在运行主线程CPU时间的12.7%。 然后我发现它有名字“waitingThread”。它看起来像该方法阻止主线程。

enter image description here

相关问题