所以我一直觉得 UIGraphicsBeginImageContext 是线程安全的,可以从任何线程调用来创建一个新的 CGContextRef 可以用来绘制。
但是,当前的文档指出
"You should call this function from the main thread of your application only."
但是,在 WWDC 2012 会议视频“构建并发用户界面”中,演讲者显示您实际上可以在后台绘制,并在后台调用该方法:
如您所见,他向 a _queue
(在 BG 线程上运行)添加了一个操作,它调用renderedGraphOfSize
,它调用UIGraphicsBeginImageContext
。那么有什么关系呢?在后台绘图时,我的应用程序出现了一些崩溃,所以我不知道为什么 Apple 会出现令人困惑的示例。