UIGraphicsGetCurrentContext线程问题

时间:2010-05-30 20:41:20

标签: objective-c iphone

参考文献说: “你应该只从应用程序的主线程调用此函数。”
但我想从单独的线程获取当前的图形上下文。你怎么看?我能做些什么来达到这个目标?


编辑: 谢谢大家的答案。我不知道目前哪个对我有好处,但非常感谢你。

3 个答案:

答案 0 :(得分:3)

永远不要从主线程以外的任何东西画到屏幕!图形芯片是单线程的,因此如果不遵守该规则,可能会导致各种竞争条件。

您可以绘制到背景NSImage,然后在完成后通知主线程并更新屏幕。

答案 1 :(得分:1)

如果要从其他线程绘制,可以创建自己的CGBitmapContext或使用CATiledLayer。

答案 2 :(得分:0)

我会说重构你的逻辑以符合引用的建议。

一般来说,你应该和不应该做的事情是准确的。

为什么要从不同的线程访问它?