所以我一直认为UIGraphicsBeginImageContext是线程安全的,并且可以从任何线程调用以创建可用于绘制的新CGContextRef。
但是,当前documentation表示
"You should call this function from the main thread of your application only."
但是,在WWDC 2012会话视频“构建并发用户界面”中,发言人显示您实际上可以在后台绘制,并在后台调用该方法:
正如您所看到的,他向_queue
(在BG线程上运行)添加了一个操作,该操作调用renderedGraphOfSize
,调用UIGraphicsBeginImageContext
。那是什么交易?在我的应用程序中,当我在后台绘图时遇到了一些崩溃,所以我不知道为什么Apple会有一些混乱的例子。
答案 0 :(得分:1)
引用文档:
在iOS 4及更高版本中,您可以从您的任何线程调用此函数 应用
答案 1 :(得分:0)
UIGraphicsBeginImageContext在iOS 4及更高版本中绝对是线程安全的。 WWDC 2012会话视频与iOS 6有关,所以也许您应该与iOS 6文档相关:)