【发布时间】:2014-02-24 18:42:32
【问题描述】:
我尝试截取uiwebview 的屏幕截图并将其与观察者一起发送到另一个类中的另一个 UIImageView。
我用这个方法截图:
-(UIImage*)takeScreenshoot{
@autoreleasepool {
UIGraphicsBeginImageContext(CGSizeMake(self.view.frame.size.width,self.view.frame.size.height));
CGContextRef context = UIGraphicsGetCurrentContext();
[self.webPage.layer renderInContext:context];
UIImage *__weak screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return screenShot;
}
}
但是我有问题。每次我用这种方法截屏时,内存速率都会增长大约 10-15mb 并且它没有意识到这一点。如果我在每个 webviewdidfinishload 中截屏,你可以想象它会占用多少内存!
我该如何解决这个问题?
【问题讨论】:
-
你不需要这一行:CGContextRef context = UIGraphicsGetCurrentContext();
-
@Greg 这不会让记忆更轻!
标签: ios objective-c uiwebview uiimageview uiimage