アプリで複数の UIImageView で伸縮可能な UIImage を何百回も使用する必要があります。UIImageView に追加する必要があるたびにメモリ内で再作成する代わりに、同じ伸縮可能な UIImage をグローバルに再利用しても問題ありませんか?
[UIImage imageNamed:] がパフォーマンスを向上させるために画像をキャッシュすることは知っていますが、これは伸縮可能な画像には使用できません!
ありがとう、
マイク
アプリで複数の UIImageView で伸縮可能な UIImage を何百回も使用する必要があります。UIImageView に追加する必要があるたびにメモリ内で再作成する代わりに、同じ伸縮可能な UIImage をグローバルに再利用しても問題ありませんか?
[UIImage imageNamed:] がパフォーマンスを向上させるために画像をキャッシュすることは知っていますが、これは伸縮可能な画像には使用できません!
ありがとう、
マイク
ああ、絶対に、画像を一度保存してから、描画するたびに同じ画像を呼び出す必要があります。通常、多くの画像を含むプロジェクトの場合、スプライトでいっぱいの NSDictionary を含む単一の SpriteManager クラスがあります。次に、ファイル名を介してそれぞれを参照できます。この方法では、各画像が 1 回だけ読み込まれるため、大幅に高速化されます。
ただし、これを行う最も効率的な方法は、OpenGL ES を使用することです。何百もの画像を描画している場合は、絶対にそうするようお勧めします。
間違いなく:画像を再利用してください。グローバル変数に保存していますか?retain
おそらくAutoReleasedになっているので、画像を確認してください(または、アプリケーションなどのグローバルクラスの保持プロパティに入れます)。