Вопрос

Мне нужно преобразовать CIImage к формату, который может быть написан на диск.

В настоящее время я использую следующий код для преобразования его в формат JPG.

 NSBitmapImageRep* rep = [[[NSBitmapImageRep alloc] initWithCIImage:result] autorelease];

 NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
[JPEGData writeToFile:targetPath atomically:YES]; 

Но реальное использование памяти выстрелится до 100 МБ. Мое приложение требует, чтобы я обрабатывал большое количество изображений, поэтому мне нужно оптимизировать использование памяти.

Кто -нибудь может предложить что -нибудь ???

Это было полезно?

Решение

Если это проблема совокупной памяти, а не только одно изображение, вы можете попробовать завершить две последние строки в своем собственном пуле AutorElease:

@autoreleasepool {
    NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
    [JPEGData writeToFile:targetPath atomically:YES];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top