[英]Application got stuck with CPU usage up to 100%
我的應用程序卡在CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION
。 在我的應用程序中,我調用了一個異步的C函數。 我在執行過程中顯示了一個等待的消息。
終止此函數后,它將調用委托以關閉該等待的msg,並同時顯示AlertView。
我用gcd顯示alertview
dispatch_async(dispatch_queue_create("com.myapp.service.waitingmessage", nil), ^{
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView *anAlert = ...
[anAlert show];
});
});
這是應用程序卡住時Debugger XCode的屏幕截圖。 我還看到我的應用程序的CPU使用率高達100%,這也許就是為什么該應用程序被系統掛起的原因。
使用dispatch_sync()
代替dispatch_async(dispatch_get_main_queue(), ^{...
您無法從后台線程更新UI。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.