我想知道 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
对象的确切内存大小是多少?
最佳答案
问题中有描述。内存是照片的精算尺寸,UIImage不会做优化。
关于ios - UIImageView 的内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8251335/