UIImageJPEGRepresentation - memory release issue

Posted by FredM on Stack Overflow See other posts from Stack Overflow or by FredM
Published on 2010-04-16T19:59:43Z Indexed on 2010/04/16 20:03 UTC
Read the original article Hit count: 677

On a iPhone app, I need to send a jpg by mail with a maximum size of 300Ko (I don't no the maximum size mail.app can have, but it's another problem). To do that, I'm trying to decrease quality until obtain an image under 300Ko.

In order to obtain the good value of the quality (compressionLevel) who give me a jpg under 300Ko, I have made the following loop. It's working, but each time time the loop is executed, the memory increase of the size of the original size of my jpg (700Ko) despite the "[tmpImage release];".

float compressionLevel = 1.0f; int size = 300001; while (size > 300000) { UIImage *tmpImage =[[UIImage alloc] initWithContentsOfFile:[self fullDocumentsPathForTheFile:@"countOpix_imageToAnalyse.jpg"]]; size = [UIImageJPEGRepresentation(tmpImage, compressionLevel) length]; [tmpImage release]; //In the following line, the 0.001f decrement is choose just in order test the increase of the memory
//compressionLevel = compressionLevel - 0.001f; NSLog(@"Compression: %f",compressionLevel); }

Any ideas about how can i get it off, or why it happens? thanks

© Stack Overflow or respective owner

Related posts about iphone

Related posts about memory