Iphone 我可以将多少图像加载到NSMutableArray中以在ImageView中显示?
我需要加载150个JPEG图像,每个100Kb,但是 在以60Kb的速度加载110个JPEG后,我得到了一个内存警告 我的阵列是: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
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]];