私のアプリUIKit
は(100x100) jpeg
、「パターン画像」として使用されると想定される100個のファイルのようなものを保存します。各画像の平均サイズは、のようになることがあり20~40 kb
ます。
私もcocos2d-x開発者です。ココス環境では、plist
各画像を「バインド」してから、を介してカットするために使用していplist
ます。これは優れたパフォーマンスとサイズの節約になりますが、私が知る限り、では不可能UIKit
です。
だから私の質問はこれです、ファイルをXCodeにドラッグアンドドロップして通常どおりに使用する以外に、ディスク容量を改善してパフォーマンスを向上させるためにこのイメージを保存/プルするより良い方法はありますか?
画像の再利用を処理する高度なキャッシュシステムが導入されているため、iOSでは[任意の数の]画像は実際には問題になりません。また、iOSのレンダリングシステムは非常に優れているため、心配する必要はありません。
スプライトのシステムをプログラムすることは確かに可能ですが、それを行うことはお勧めしません。このメソッドは主にWeb開発で使用され(各画像は新しいリクエストで提供される必要があるため* HTTP / 2ではもはや当てはまらないことに注意してください)、明らかにゲーム開発でも使用されます(バインドテクスチャ呼び出しが少ないほど良いため)。
スプライトを使用しない理由のもう1つの良い例があります-Watchアプリケーションを開発していて、アニメーションを実行したい場合は、フリップボードスタイルの画像(1.png-100.pngという名前の画像のシーケンス)を使用して実行します。画像の大きなアトラスを使用します。なぜ彼らがそのようにそれをすることに決めたのかは推測できますが(私の推測では、それが内部でどれだけうまく機能するか+ Bluetoothのスループットのためです)、それがAppleの好ましい選択でもあることは明らかなので、従う必要があります。
iOSの場合、知っておくべきいくつかの落とし穴があります。
UIColor.colorWithPatternImage()
この方法は問題があると考えられるため、で作成された背景画像は注意して使用する必要があります(詳細はこちら)ここで、画像の非同期ロードについては、次のライブラリを確認することをお勧めします。
どちらも素晴らしいので、それは本当に好みの問題です(私はハネケの方が好きです)が、Webからでもバンドルからでも、さまざまなスレッドで画像をダウンロードできます。また、UIImageViewの拡張機能があり、1行の関数を使用してすべての画像を簡単に読み込むことができます。
それが役に立てば幸い!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加