Я пытаюсь создать несколько скриншотов массива представлений viewController для отображения в collectionView.
Для создания этих представлений я использую следующее:
private func takeImagePreviewSnapshot(view: UIView) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(view.frame.size, false, 3)
if UIGraphicsGetCurrentContext() != nil {
view.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
} else {
return nil
}
}
Проблема когда я делаю это для сотен просмотров, приложение вылетает, поскольку используется слишком много памяти. Я не могу сделать это в фоновом потоке, потому что view.layer.render не может использоваться в фоновом режиме.
Есть ли другой способ создания снимков вида в фоновом режиме?