我正在使用众所周知的模式从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 +(!!!)秒。
我尝试将它分成另一个在后台运行的线程,它确实提高了性能。
唯一的问题是,我记得,不允许在主线程中创建与UI相关的东西。
我错了,这完全没问题? 或者 - 如果我是对的 - 可以做些什么来提高性能?有没有其他方法可以在不同的线程中使用,但做同样的工作?
非常感谢!
答案 0 :(得分:0)
最后我只是在另一个帖子中完成了,一切正常。