一个 700x700 png 图像,显示 imageview 成本为 1.88Mib 内存,但如果我用 UIImageJPEGRepresentation(data, 0.9) 压缩它,内存成本降低到 736Kib 但图像大小不变,jpg 像素没有 alpha,但内存成本减少了将近 62%,我想知道 UIImageJPEGRepresentation() 是如何工作的?谢谢
加载png图片:
NSString *path = [[NSBundle mainBundle] pathForResource:@"bbb" ofType:@"png"];
NSData * data = [NSData dataWithContentsOfFile:path options:NSDataReadingMappedIfSafe error:NULL];
UIImage * img = [UIImage imageWithData:data];
加载jpg图片
NSString *path = [[NSBundle mainBundle] pathForResource:@"bbb" ofType:@"png"];
NSData * data = [NSData dataWithContentsOfFile:path options:NSDataReadingMappedIfSafe error:NULL];
UIImage * img = [UIImage imageWithData:data];
img = [UIImage imageWithData:UIImageJPEGRepresentation(img, 0.9)];
jpg 内存消耗:
png 内存消耗: