ブロック全体は、以下からなる:最大サイズ(メモリバッファ)コードの
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高さ)がありますか?網膜ディスプレイの非常に長いページでクラッシュするようですか?
あなたの提案を試みましたが、UIGraphicsBeginImageContextWithOptions(webview.bounds.size、YES、0.0);でもクラッシュしました。インスツルメーションのメモリモニタは、メモリエラーとフラグを立ててアプリケーションを終了します。これは間違いなくメモリの問題です。 – akishnani
@akishnani:私の編集された答えを見てください:それは理由でしょうか?またリンクされたQ&Aを見てください。 –
サイコロはありません。私はヘッダとフレームワークを含んでいました。 –
akishnani