Итак, у меня сложилось впечатление, что UIGraphicsBeginImageContext является потокобезопасным и может быть вызван из любого потока для создания нового CGContextRef, который можно использовать для рисования.
Однако текущий documentation утверждает, что
"You should call this function from the main thread of your application only."
Однако в видеоролике WWDC 2012 "Создание параллельных пользовательских интерфейсов" говорящий показывает, что вы действительно можете рисовать в фоновом режиме и вызывать этот метод в фоновом режиме:
Итак, как вы можете видеть, он добавляет операцию в _queue
(которая работает в потоке BG), которая вызывает renderedGraphOfSize
, которая вызывает UIGraphicsBeginImageContext
. Так что же сделка? Я получаю некоторые сбои в моем приложении, когда дело доходит до рисования в фоновом режиме, поэтому я не знаю, почему запутались примеры из Apple.