Question

Je dois convertir CIImage un format qui pourrait être écrit sur le disque.

Actuellement, je suis en utilisant le code suivant pour le convertir au format JPG.

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

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

Mais le véritable pousses d'utilisation de la mémoire jusqu'à plus de 100 Mo. Mon application me oblige à gérer un grand nombre d'images donc je dois optimiser mon utilisation de la mémoire.

Quelqu'un peut-il s'il vous plaît suggérer quoi que ce soit ???

Était-ce utile?

La solution

Si c'est la mémoire cumulative qui est un problème, et pas seulement une image, vous pouvez essayer d'envelopper les deux dernières lignes dans votre propre piscine autorelease:

@autoreleasepool {
    NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
    [JPEGData writeToFile:targetPath atomically:YES];
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top