Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 我可以将多少图像加载到NSMutableArray中以在ImageView中显示?_Iphone_Xcode_Uiimage_Nsmutablearray - Fatal编程技术网

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

Iphone 我可以将多少图像加载到NSMutableArray中以在ImageView中显示?,iphone,xcode,uiimage,nsmutablearray,Iphone,Xcode,Uiimage,Nsmutablearray,我需要加载150个JPEG图像,每个100Kb,但是 在以60Kb的速度加载110个JPEG后,我得到了一个内存警告 我的阵列是: imagesSet = [[NSMutableArray alloc] init]; 图像的加载方式如下: NSString *fileLocation = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@%d", IMAGE_PREFIX, i] ofType:IMAGE

我需要加载150个JPEG图像,每个100Kb,但是 在以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]];


内存不够吗?还是我做错了什么?

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

为什么要一次加载所有图像?您是否同时显示所有这些内容?(我对此表示怀疑)。为什么不在“show”方法中加载一个图像呢?我在显示之前加载所有图像(制作缓存),以便稍后快速制作动画。如果没有缓存,则FPS非常低。请使用MP4而不是这样的穴居人动画。我可以在MP4电影中快速设置任何帧以供选择吗?你能举个例子吗?谢谢。直到,对不起,你能回答关于管理mp4的最后评论吗?在iPhone 2/3G上,你的应用程序的可用内存总量是22mb,如果我没记错的话-该值还包括GPU使用的纹理等。对于3GS和4,这些值更高,但肯定不在数百兆字节之内。
show:imageView.image = [imagesSet objectAtIndex:[number intValue]];