Pregunta

Necesito convertir CIImage a un formato que puede ser escrito en el disco.

Actualmente estoy usando el siguiente código para convertirlo a formato JPG .

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

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

Pero el verdadero uso de la memoria se dispara por encima de 100 MB .Mi aplicación me obliga a manejar un gran número de imágenes, por lo que necesito optimizar mi uso de la memoria.

Puede alguien por favor sugerir algo ???

¿Fue útil?

Solución

Si es la memoria acumulativa ese es un problema, y no sólo una imagen, usted puede tratar de envolver las dos últimas líneas de su propio grupo de liberación automática de la piscina:

@autoreleasepool {
    NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
    [JPEGData writeToFile:targetPath atomically:YES];
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top