整个代码块包括以下内容:
CGSize layerSize = [webview sizeThatFits:CGSizeZero];
if ([UIScreen instancesRespondToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0f) {
UIGraphicsBeginImageContextWithOptions(layerSize, NO, 2.0f);
}
else {
UIGraphicsBeginImageContext(layerSize);
}
[webview.layer renderInContext:UIGraphicsGetCurrentContext()];
screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
经过测试,发现以下代码行导致了问题: [webview.layer renderInContext:UIGraphicsGetCurrentContext()];
看起来像是内存崩溃,这个函数是否有基于设备(iPod、iPhone、iPad)的最大尺寸(宽度x高度),在视网膜屏幕上似乎会因页面过长而崩溃?
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
它就不会崩溃吗?我仍然几乎确定这不应该是内存问题。但是目前没有更多想法了。 - Rok Jarc