1

重複の可能性:
多くの画像を効率的に表示するにはどうすればよいですか?(iPhoneプログラミング)

1つのアニメーションのフレーム画像(1秒あたり24画像)である何百もの画像があります。各画像サイズは1024x690です。

私の問題は、UIImageViewの各画像フレームを反復するスムーズなアニメーションを作成する必要があることです。UIImageView のanimationImagesを使用できることはわかっています。しかし、メモリの問題のためにクラッシュします。 また、次の繰り返しアニメーションがスムーズになるように、各画像をキャッシュすることを使用できます。しかし、多くの画像をキャッシュするとアプリがクラッシュしました。 今、私はを使用しています。これはアプリをクラッシュさせませんが、アニメーションをそれほどスムーズにしません。 たぶん、フレーム画像の良いアニメーションを作るためのより良い方法がありますか?


imageView.image = [UIImage imageNamed:@""]

imageView.image = [UIImage imageWithContentsOfFile:@""]



どういうわけかより良い結果を達成するために、多分私はいくつかの準備をする必要があります。アドバイスが必要です。ありがとうございました!

4

3 に答える 3

1

ここで答えを見つけることができます:多くの画像を効率的に表示するには? (iPhoneプログラミング)

そのリンクで述べられていることを要約すると、UIKit とは対照的に、Core Animation や OpenGL などの低レベル API を使用すると、多くの画像を表示するときにパフォーマンスが向上します。

于 2012-06-21T02:58:29.467 に答える
1

一度に 10 枚の画像をメモリにキャッシュしてみることができます (正しい制限をいじる必要があるかもしれません - 10 だとは思えません)。imageView の画像を変更するたびに、次のようなことができます。

// remove the image that is currently displayed from the cache
[images removeObjectAtIndex:0];
// set the image to the next image in the cache
imageView.image = [images objectAtIndex:0];
// add a new image to the end of the FIFO
[images addObject:[UIImage imageNamed:@"10thImage.png"]];
于 2012-06-21T03:07:23.440 に答える
0

配列を使用して、複数の画像のバッファーを作成できます。この画像のバッファ配列は、バックグラウンド スレッド (同時 GCD 非同期など) から imageWithContentsOfFile を使用してロード/設定できます。

于 2012-06-21T03:11:28.833 に答える