2012-02-17 81 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

相關問題