2011-11-24 147 views
1

我想知道一个UIImageView对象的内存大小,因为我需要显示一些大图像,我需要处理内存。我想这是由图像属性决定的。但我不知道如何计算精算内存大小和下面是我写测试代码:内存大小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

你有什么问题? – Till

+0

@Till,uiimageview对象的内存大小。 – scorpiozj

+0

你真的在你的问题中计算出它 - 它大致是宽x高x 4 – Till

回答

1

这是在问题中描述的。记忆是照片的精算尺寸,UIImage不会进行优化。