UIImageJPEGRepresentation taking huge memory
ios, objective-c, uiimage
Solution
Use a `scaleValue` of less than 1. Even 0.9 will massively reduce the memory footprint with minimal quality loss.
Problem
i'm trying to figure out this problem but failed after doing every thing i found on OS or google. Problem is that when i convert `UIImage` to `NSData` using `UIImageJPEGRepresentation` or `UIImagePNGRepresentation` it increases the memory size to 30Mb (believe me or not). Here is my code ``` myImage= image; LoginSinglton*loginObj = [LoginSinglton sharedInstance]; NSError *error; NSData *pngData = UIImageJPEGRepresentation(image, scaleValue); //scaleVale is 1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory self.imageCurrentDateAndTime =[self getTimeAndDate]; self.filePathAndDirectory = [documentsPath stringByAppendingPathComponent:@"Photos Dir"]; NSLog(@"Documents path %@",self.filePathAndDirectory); if (![[NSFileManager defaultManager] createDirectoryAtPath:self.filePathAndDirectory withIntermediateDirectories:NO attributes:nil error:&error]) { NSLog(@"Create directory error: %@", error); } self.imageName= [NSString stringWithFormat:@"photo-%@-%@.jpg",loginObj.userWebID,self.imageCurrentDateAndTime]; NSString *filePath = [self.filePathAndDirectory stringByAppendingPathComponent:self.imageName]; [pngData writeToFile:filePath atomically:YES]; //Write the file [self writeImageThumbnailToFolder:image]; [self writeImageHomeViewThumbnailToFolder:image]; ``` I have tried following solution as well UIImageJPEGRepresentation - memory release issue 1- Used @autoreleasepool 2- done pngData = nil; but still facing that memory issue. EDIT I think i'm not able to convey my problem. It's ok if `UIImageJPEGRepresentation` taking huge memory,but memory should back to it's earlier position after saving that image. Hope this will help you in detail.