我的應用程序堅持與CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION
。 在我的應用程序中,我調用了一個異步的C函數。我在執行過程中顯示等待的消息。
當此功能終止時,它會調用委託來關閉該等待消息並同時顯示AlertView。應用程序被CPU佔用率高達100%
我使用GCD展現alertview
dispatch_async(dispatch_queue_create("com.myapp.service.waitingmessage", nil), ^{
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *anAlert = ...
[anAlert show];
});
});
這裏是調試器的XCode的截屏應用時卡住了。 我還看到我的應用程序的CPU使用率高達100%,也許這就是爲什麼應用程序被系統暫停的原因。
我沒有完全遵循你想要在後臺運行的內容。你正在創建一個後臺隊列,並立即填充一個主循環塊。您可以刪除第一行和最後一行並獲得相同的效果。另外請注意'UIAlertView'已被棄用,您將使用'UIAlertController'獲得任何類型的塊處理。 – iluvcapra 2014-11-04 19:38:51
我解決了這個問題。這是由另一個代碼塊引起的。 PS:UIAlertView只從iOS 8.0 – 2014-11-05 09:16:18