Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS get UIImage memory size

I want to get UIImage Object real memory size. There are 3 methods

NSUInteger s1 = UIImagePNGRepresentation(thumbImage).length;
NSUInteger s2 = UIImageJPEGRepresentation(thumbImage, 1).length;
NSUInteger s3  = CGImageGetHeight(thumbImage.CGImage) * CGImageGetBytesPerRow(thumbImage.CGImage);
NSLog(@"s1:%u",s1);
NSLog(@"s2:%u",s2);
NSLog(@"s3:%u",s3);

and result

s1:62734

s2:175939

s3:578816

which one is right?

like image 724
user3414228 Avatar asked Aug 25 '14 10:08

user3414228


1 Answers

The last one (s3) is correct:

  • s1 is the size of a .png image when saved to a file
  • s2 is the size of a .jpg image when save to a file with best quality
like image 98
bobnoble Avatar answered Oct 14 '22 19:10

bobnoble