即使在主线程被阻塞的情况下,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