ユーザーが行った選択に基づいてロードおよびアニメーション化するアニメーションの複数の配列を持つ2つのUImageViewを実行しようとしています。たとえば、次の1つの方法があります。
-(void)initiateAnimations {
nullAnimation = [NSArray arrayWithObjects:
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0002" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0003" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0004" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0005" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0006" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0007" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0008" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0009" ofType:@"png"]],
[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"null0010" ofType:@"png"]], nil];
}
そしてIBAction
、これがアニメーションメソッドの呼び出しです。
-(IBAction)nullani {
player.animationImages = nullAnimation;
player.animationDuration = 0.50;
player.animationRepeatCount = 1;
[player startAnimating];
}
最初はすべてうまく機能しますが、ほぼ同じサイズの画像を使用したアニメーションの配列が他に5〜6個あることを覚えておいてください。それらは、12〜80kの.pngファイルに及ぶ巨大なものではありません。数回後にアニメーション化しようとすると、出力で次のエラーが発生します。
2013-03-16 01:34:44.438 [3316:907] Received memory warning.
このメッセージを受け取った後、ロードされた新しいアニメーションはアプリをクラッシュさせます。Instrumentsを実行しましたが、リークを見つけることができませんでした。クラッシュしても出力は何も表示されません。
ここにメモリの問題はありますか?どうすればこの問題を取り除くことができますか?ありがとう。