我可以将多少图像加载到NSMutableArray中以在ImageView中显示?

时间:2011-03-31 12:13:02

标签: iphone xcode uiimage nsmutablearray

我需要加载150张每张100Kb的JPEG图像,但是 在以每个60Kb加载110个JPEG后,我收到内存警告。

我的数组是:

imagesSet = [[NSMutableArray alloc] init];

和图像加载如下:

NSString *fileLocation = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@%d", IMAGE_PREFIX, i] ofType:IMAGE_FORMAT];

NSData *imageData = [NSData dataWithContentsOfFile:fileLocation];
[imagesSet addObject:[UIImage imageWithData:imageData]];

show:imageView.image = [imagesSet objectAtIndex:[number intValue]];

内存不足吗?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

到目前为止,您已超出移动设备的内存。请记住,JPEG图像在加载后会被解码。要计算单个图像所需的实际内存量,可以在使用UIImageView时运行以下公式:(width * 4)* height。