所以我一直认为 UIGraphicsBeginImageContext 是线程安全的,可以从任何线程调用以创建可用于绘制的新 CGContextRef。
但是,当前documentation指出
“您应该只从应用程序的主线程调用此函数。”
但是,在 WWDC 2012 session 视频“构建并发用户界面”中,演讲者展示了您实际上可以在后台绘制,并在后台调用该方法:
所以如你所见,他向一个_queue
(在BG线程上运行)添加了一个操作,它调用了renderedGraphOfSize
,它调用了UIGraphicsBeginImageContext
。那有什么关系呢?当涉及到在后台绘制时,我的应用程序发生了一些崩溃,所以我不知道为什么会有来自 Apple 的混淆示例。
最佳答案
引用文档:
In iOS 4 and later, you may call this function from any thread of your app.
关于iphone - UIGraphicsBeginImageContext 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11528803/