我想知道UIImageView
对象的内存大小,因为我需要显示一些大图像,我需要处理内存。我想这是由图像属性决定的。但我不知道如何计算精算内存大小,下面是我写的测试代码:
//1.jpg has a size of 4016X2657 and 2.1MB
NSData *imageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"1" ofType:@"jpg"]];
NSLog(@"imageData:%d",[imageData length]);
控制台显示:
imageData:2070461
这正是2.1MB的大小。
然而,在我看来,UIImageView
应该知道每个像素来显示图像,换句话说它应该有一个记忆:
4016*2657*4/1024/1024 = 40.7+MB
它是如此之大,我不知道iOS是否会做一些优化。我也在文档中找不到任何相关内容。
任何人都可以帮助我UIImageView
对象的确切内存大小吗?
答案 0 :(得分:1)
问题中描述了这一点。内存是照片的精算大小,UIImage不会进行优化。