我正在動畫一系列約250幀的PNG序列。我這樣做,而不是作爲H264運行它,因爲我需要背景透明度。UIImageView startAnimating即使在NSOperation中也阻止主線程
由於某些原因,即使我加載了我的NSArray並在NSInvocationOperation中加載了startAnimating調用,UI在調用startAnimating後似乎凍結。我可以看到,當圖像被加載到數組中時,應用程序仍然響應。我不知道如何停止開始動畫阻止主線程。
謝謝!
我正在動畫一系列約250幀的PNG序列。我這樣做,而不是作爲H264運行它,因爲我需要背景透明度。UIImageView startAnimating即使在NSOperation中也阻止主線程
由於某些原因,即使我加載了我的NSArray並在NSInvocationOperation中加載了startAnimating調用,UI在調用startAnimating後似乎凍結。我可以看到,當圖像被加載到數組中時,應用程序仍然響應。我不知道如何停止開始動畫阻止主線程。
謝謝!
最終切換到CoreMedia
重要的是您的startAnimating調用在主線程上完成 - 所有的UIKit活動都必須發生在主威脅上。你可以通過改變你的方法調用是這樣的:
[imageView performSelectorOnMainThread:@selector(startAnimating) withObject:nil waitUntilDone:NO];
無論是否在主線程中,Delay都會發生。我把它從主線程中移出來,希望阻止它阻塞沒有工作的主線程。 – Kris
您是否可以修改您的問題以闡明您正在執行的步驟的順序,何時看到主線程被阻止,以及阻止了多長時間? –
你能否證實startAnimating正從主線程叫什麼?它必須從主線程中調用。 –
它不是我有它在NSInvocationOperation內部被調用,這不會啓動動畫。 – Kris