В конце я просто сделал это в другой ветке, и все работает нормально.

ользую известный шаблон для созданияUIImage изUIView:

+ (UIImage *) imageWithView:(UIView *)view
{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, [[UIScreen mainScreen] scale]);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;
}

Теперь моя проблема в том, что у меня очень сложное представление с множеством подпредставлений, поэтому этот процесс преобразования занимает около 3 + (!!!) секунд.

Я попытался разветвлять его в другой поток, работающий в фоновом режиме, и это действительно улучшило производительность.

Единственная проблема заключается в том, что, насколько я помню, нельзя создавать вещи, связанные с пользовательским интерфейсом, не в основном потоке.

Я не прав, и это совершенно нормально? Или - если я прав - что можно сделать, чтобы улучшить производительность? Есть ли другой метод, который я могу использовать в другом потоке, но работает ли так же?

Большое спасибо!

Ответы на вопрос(0)

Ваш ответ на вопрос