GPUImageでフィルターをかけるとメモリリークします
GPUImageで、画像(縦960x横1280)10枚に連続でセピアフィルターをかけています。
実行する約40MBぐらいメモリを消費し、確保された状態が続きメモリリークします。
以下の関数で実装しているんですが、戻り値を画面のUIImageView.imageに代入は行っていません。
ただ、以下の関数を10回実行するだけで、メモリリークします。
フィルタ処理が終わると、直ぐにメモリを開放したいのですが、やり方がわかりません。
アドバイスをお願い致します。
- (UIImage *)applyFilter:(UIImage *)target {
GPUImagePicture *imagePicture = [[GPUImagePicture alloc] initWithImage:target];
GPUImageSepiaFilter *sepiaFilter = [[GPUImageSepiaFilter alloc] init];
[imagePicture addTarget:sepiaFilter];
[imagePicture processImage];
UIImage *result = [sepiaFilter imageFromCurrentlyProcessedOutputWithOrientation:target.imageOrientation];
[imagePicture removeAllTargets];
[sepiaFilter removeAllTargets];
return result;
}