Frage

Ich muss konvertieren CIImage zu einem Format, das auf die Festplatte geschrieben werden könnte.

Derzeit verwende ich den folgenden Code, um ihn in das JPG -Format umzuwandeln.

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

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

Aber die wahre Speicherverwendung schießt bis zu über 100 MB. Bei meiner Anwendung muss ich eine große Anzahl von Bildern verarbeiten, damit ich meine Speicherverwendung optimieren muss.

Kann jemand bitte etwas vorschlagen ???

War es hilfreich?

Lösung

Wenn es sich um das kumulative Speicher handelt, das ein Problem ist und nicht nur ein Bild, können Sie versuchen, die beiden letzten Zeilen in Ihren eigenen Autorelease -Pool zu wickeln:

@autoreleasepool {
    NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
    [JPEGData writeToFile:targetPath atomically:YES];
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top