UIGraphicsBeginImageContext线程安全吗?

所以我一直觉得UIGraphicsBeginImageContext是线程安全的,可以从任何线程调用创build一个新的CGContextRef来绘制。

但是,目前的文件指出

"You should call this function from the main thread of your application only."

但是,在WWDC 2012会话video“构build并行用户界面”中,演讲者表示您可以在后台进行实际绘制,并在后台调用该方法:

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明

正如你所看到的,他添加了一个操作到一个_queue (运行在BG线程上),它调用_queue ,它调用UIGraphicsBeginImageContext 。 那么交易是什么? 在我的应用程序中,当涉及到绘制背景时,我遇到了一些崩溃,所以我不知道为什么有来自苹果的混淆的例子。

UIGraphicsBeginImageContext在iOS 4及更高版本中绝对是线程安全的。 WWDC 2012会话video涉及iOS 6,所以也许你应该涉及到iOS 6文档:)

从文档引用:

在iOS 4及更高版本中,您可以从应用程序的任何线程调用此函数。

链接: http : //developer.apple.com/library/ios/#documentation/UIKit/Reference/UIKitFunctionReference/Reference/reference.html