そのため、UIGraphicsBeginImageContextはスレッドセーフであり、任意のスレッドから呼び出して、描画に使用できる新しいCGContextRefを作成できるという印象を受けました。
ただし、現在のドキュメントには次のように記載されています
"You should call this function from the main thread of your application only."
ただし、WWDC2012セッションビデオ「BuildingConcurrentUserInterfaces」では、スピーカーは、実際にバックグラウンドで描画し、そのメソッドをバックグラウンドで呼び出すことができることを示しています。
ご覧のとおり、彼は_queue
(BGスレッドで実行される)に操作を追加します。この操作はrenderedGraphOfSize
、を呼び出しますUIGraphicsBeginImageContext
。それで、取引は何ですか?バックグラウンドでの描画に関しては、アプリでクラッシュが発生するため、Appleの例が混乱している理由がわかりません。