我在加載頁面的模式viewController中使用webview。該頁面可能需要10秒才能在AJAX中加載其內容。UIWebView加載AJAX中的東西阻止主線程
如果在頁面完全加載後關閉模式viewController,那麼一切看起來都不錯。但是,如果我在頁面加載時關閉了模式viewController,UI將被完全鎖定。我停下調試,而UI是鎖着的,這裏是發生了什麼事在主線程:
Thread 1, Queue : com.apple.main-thread
#0 0x390b6fa8 in __psynch_mutexwait()
#1 0x3911bf50 in _pthread_mutex_lock()
#2 0x366ac60c in _WebTryThreadLock(bool)()
#3 0x366ad434 in WebThreadLock()
#4 0x31151cf8 in -[UIWebView dealloc]()
#5 0x30f2f9b2 in -[UIView dealloc]()
#6 0x30f2f9b2 in -[UIView dealloc]()
#7 0x38b04022 in (anonymous namespace)::AutoreleasePoolPage::pop(void*)()
#8 0x2e6de1c8 in _CFAutoreleasePoolPop()
#9 0x2e773e82 in __CFRunLoopRun()
#10 0x2e6de470 in CFRunLoopRunSpecific()
#11 0x2e6de252 in CFRunLoopRunInMode()
#12 0x334182ea in GSEventRunModal()
#13 0x30f93844 in UIApplicationMain()
#14 0x00017074 in main at /Users/.../main.m:16
的UI凍結了近似10秒,這是確切的時間的頁面需要加載。
我試圖在解除模態視圖控制器前調用[_webview stopLoading],但它沒有幫助。
有誰知道這裏發生了什麼,我該怎麼做才能防止webview凍結UI?謝謝
具有相同的問題。無論如何,它似乎也不知道。 –