2011-11-24 145 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不會進行優化。