1つのアニメーションのフレーム画像(1秒あたり24画像)である何百もの画像があります。各画像サイズは1024x690です。
私の問題は、UIImageViewの各画像フレームを反復するスムーズなアニメーションを作成する必要があることです。UIImageView
のanimationImagesを使用できることはわかっています。しかし、メモリの問題のためにクラッシュします。
また、次の繰り返しアニメーションがスムーズになるように、各画像をキャッシュすることを使用できます。しかし、多くの画像をキャッシュするとアプリがクラッシュしました。
今、私はを使用しています。これはアプリをクラッシュさせませんが、アニメーションをそれほどスムーズにしません。
たぶん、フレーム画像の良いアニメーションを作るためのより良い方法がありますか?imageView.image = [UIImage imageNamed:@""]
imageView.image = [UIImage imageWithContentsOfFile:@""]
どういうわけかより良い結果を達成するために、多分私はいくつかの準備をする必要があります。アドバイスが必要です。ありがとうございました!
質問する
2282 次
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 に答える