0

アプリがWebサイトから起動するときに複数の画像(つまり、1.png、2.png、3.png ..という名前のhttp://hello.com/images/内のすべての画像)をロードしたいので、画像はアクセスするたびにリロードすることなく、プログラムのどこでも使用できます。

静的NSArrayを保持するクラスを作成し、最初にそれを埋めて、画像が必要なときはいつでもこのクラスのインスタンスを作成できますか、それとももっと良い方法がありますか?

現在、次のコードで画像を読み込んでいます。

UIImage *image =[[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://hello.com/images/%@.png,item]]]];

アプリをできるだけ効率的にしたいので、複数のオブジェクトが作成されて非常に要求が厳しくなるのではないかと心配しています。

ありがとう

4

1 に答える 1

1

アプリケーションの起動時に別のスレッドで非同期にイメージをダウンロードして、後で使用することができます。

これは、ポスターがカスタムクラスを使用してバックグラウンドの画像を非同期でダウンロードするSOの質問と回答です。

画像を効率的にダウンロードするためにこれを試してください。UIもブロックされません。

于 2012-05-12T18:29:46.710 に答える