0

このコードを使用して画像ビューに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]メモリ警告を受信しました。

4

1 に答える 1

1

すべての画像と動画は常に使用中/表示されていますか?警告から、アプリに割り当てられたメモリを超えている可能性があるようです。

この質問は関連しているようです。使用されていない画像を破棄する方法については詳しく説明していませんが、メモリ警告を受け取りました。どの画像を読み込んでいるのかを賢く考えて、使用しなくなった場合は画像を解放してください。ビデオについても同じことが言えます。お役に立てば幸いです。

編集:あなたはこのようなことをすることができます:

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

または、そのショットを与える前に、[image release]提供したelseステートメントのすべての後で実行を試みることができます。

于 2012-07-26T18:00:34.680 に答える