アプリ画面の1つにぼかし画像を作成しています。このため、次のコードを使用しています
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CIContext *context = [CIContext contextWithOptions:nil];
CIImage *inputImage = [CIImage imageWithCGImage:image.CGImage];
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
[filter setValue:inputImage forKey:kCIInputImageKey];
[filter setValue:[NSNumber numberWithFloat:5] forKey:@"inputRadius"];
CIImage *result = [filter valueForKey:kCIOutputImageKey];
CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];
blurrImage = [UIImage imageWithCGImage:cgImage];
self.blurrImageView.image = blurrImage;
CGImageRelease(cgImage);
上記のコードから正しいぼかし画像が得られますが、問題は CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];
この行にあります。
この行まではメモリ使用量の表示は正常ですが、この行の後でメモリ使用量が異常に高くなり、
実行前に表示されるメモリ使用量のスクリーンショットです。メモリ使用量は、このメソッドの実行に沿って増加し続けます。これは前です
そして、これは行の実行後 CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]];
これは一般的な動作ですか..?私は答えを検索しましたが、私は得られなかったので、同じ問題に直面した人はこれについて私を助けてください
私が「ARCを使用していない」ということの1つ