Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.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
Ios iPad应用程序在加载30+;图像_Ios_Image_Crash_Uiimageview - Fatal编程技术网

Ios iPad应用程序在加载30+;图像

Ios iPad应用程序在加载30+;图像,ios,image,crash,uiimageview,Ios,Image,Crash,Uiimageview,使用以下代码在图像视图中快速加载30多张图像后,ipad崩溃并重新启动有何原因: else if([webData isEqualToString:@"ppt33"]){ if(movieisplaying == @"yes"){ UIImage *image = [UIImage imageNamed: @"33.png"]; [imageView setImage:image]; [moviePlayerController stop]

使用以下代码在图像视图中快速加载30多张图像后,ipad崩溃并重新启动有何原因:

else if([webData isEqualToString:@"ppt33"]){
    if(movieisplaying == @"yes"){
        UIImage *image = [UIImage imageNamed: @"33.png"];
        [imageView setImage:image];
        [moviePlayerController stop];
        [moviePlayerController.view removeFromSuperview];
        movieisplaying = @"no";
    }
    else{
        UIImage *image = [UIImage imageNamed: @"33.png"];
        [imageView setImage:image];

    }
}
编辑:
崩溃错误-2012-07-26 13:48:55.172流[5554:707]收到内存警告。

是否所有的图像和视频都在使用/持续可见?从警告中可以看出,您的应用程序可能超出了分配的内存

这个问题似乎是相关的,尽管它没有详细说明如何销毁未使用的图像。我想说的是,当你加载什么图像时,试着聪明一点,如果你不再使用它,然后释放一个图像。视频也是如此。希望有帮助

编辑:您可以执行以下操作:

NSMutableArray * imageArray;

imageArray = [[NSMutableArray alloc] init];

UIImage *oneImage = [UIImage imageNamed: @"33.png"];
[imagesArray addObject:oneImage];
[oneImage release];
//Add the remaining images, could probably turn this into a for loop

或者,在您拍摄之前,您可以尝试在您提供的else语句中的所有内容之后执行
[图像发布]

您可以发布崩溃时出现的错误吗?@KarolyS确定它在我的EditHMM中,您的图像有多大?你能试着说25吗?20? 尽量在崩溃前找到你能加载的最大值。@KarolyS我有大约40张图片和4个视频,应用程序不会与视频一起崩溃,但在大约32张图片后崩溃。如果图像未被使用,是否有任何方法“销毁”和图像?每次图像更改时,我都使用此代码(使用不同的文件名):
UIImage*image=[UIImage-imagename:@“34.png”];[图像视图设置图像:图像]我对视频使用类似的代码,但图像是问题所在;有什么办法可以解决这个问题吗?我很难想象是什么原因导致你这样做,因为乍一看,你写的似乎是正确的。如果我处在您的位置,我会尝试将所有40幅图像加载到viewDidLoad或任何位置的UIImage数组中,然后只需执行[imageView setImage:imageArray[34];原因是,我有一种感觉,如果你运行一个内存监控工具,你会看到自己重复创建图像,而不会删除未使用的图像。每个图像在内存中大致有多大?图像大小从0.5mb到1.2MB不等,我该如何创建UIImage阵列?@Nathan Niamehr-Hmm,你可能想尝试压缩它们,我认为1.2MB的图像可能会伤害你。我还更新了我的答案,增加了一些尝试。谢谢你的帮助,我会尝试的。