4
我使用衆所周知的模式創建一個UIImage
從UIView
:製作的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相關的東西。
我錯了,這很好嗎? 或者 - 如果我是對的 - 可以做些什麼來提高性能?有沒有其他方法可以在不同的線程中使用,但是可以做同樣的工作?
非常感謝!