即使在主線程被阻塞的情況下,AVCaptureVideoPreviewLayer的實例仍會從視頻捕捉流中更新其內容。是否有可能通常使用CALayer
的自定義子類複製此行爲?換句話說,在原始圖像數據的情況下,當主線程被阻塞時,我們能夠更新屏幕上顯示的內容嗎?如何在主線程被阻塞時更新CALayer的內容?
1
A
回答
3
當主線程被阻塞時,您無法更新視圖中的任何內容。整個UIKit是單線程的,並在主事件循環中運行。視頻捕捉是一種特殊情況,因爲它直接繪製到屏幕緩衝區,但您無法自己複製它。此外,如果您在主線程上執行長時間運行的任務,則iOS會假設您的應用程序崩潰並在幾秒鐘後終止它。
爲什麼不在後臺線程上執行其他任務呢?這是標準做法。
0
我找到了更新非UI線程上的UI的方法。 我們可以在任何線程中執行代碼,並且即使在主線程正在休眠時,它實際上也會更改圖層的轉換。
self.labelLayer.transform = CATransform3DMakeScale(1.2, 1.2, 1.0);
所以,如果任何人都可以解釋這一點,請隨時連接我!
相關問題
- 1. 更新tableView不會阻塞主線程
- 2. 更新GMSMarkers沒有阻塞主線程
- 3. 如何在主UI線程被阻塞時顯示progressdialog?
- 4. 當主線程在Cocoa應用程序中被阻塞時UI不會更新
- 5. 儘管主線程被阻塞,是否可以在Qt GUI應用程序中重新繪製/更新內容?
- 6. 當主線程被阻塞時,UIActivityIndicatorView如何不停止?
- 7. WPF:當UI線程被阻塞時更新鼠標指針
- 8. 主線程Runloop在打開時被阻塞nsmenu
- 9. UI線程被阻塞
- 10. Netty線程被阻塞
- 11. 隊列阻塞主線程
- 12. MaxDegreeOfParallelism阻塞主線程?
- 13. NSTask阻塞主線程
- 14. NSoperationQueue阻塞主線程
- 15. performSelector:onThread:當目標線程被阻塞時
- 16. 當主線程在IOS中被阻塞時,UIAlertView在線程中關閉
- 17. 主線程被阻塞時避免表視圖didSelectRowIndexPath動作
- 18. 阻止阻塞的線程阻塞
- 19. 如何避免線程進入阻塞狀態如果協程被阻塞
- 20. 套接字線程在接收時阻塞主線程
- 21. 如何啓動不阻塞Java主線程的後臺線程?
- 22. 在gui事件後阻塞主線程
- 23. 如何解決在WordPress中被widget阻塞的內容區域?
- 24. 當線程被內部鎖定阻塞時執行代碼
- 25. 當主線程被阻塞時,UIKit如何繪製動畫UIActivityIndicator?
- 26. Java線程被阻塞的狀態
- 27. log4net的導致線程被阻塞
- 28. 找出線程被阻塞的位置
- 29. 檢測被阻塞的線程
- 30. NSArrayController的setContent阻塞主線程
CATiledLayer被設計爲在後臺線程中工作。 – 2012-02-03 20:30:07
不完全。它將圖像切片加載到後臺線程上,但仍將其繪製在主線程上。 – 2012-02-03 20:38:58