IOS-多数の画像を処理するためのベストプラクティス(パフォーマンス+ディスク上のサイズ)

陛下

私のアプリ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の場合、知っておくべきいくつかの落とし穴があります。

  • Webからロードされた画像は、メインスレッドにロードしないでください。これは、画面のロード時に存在しないすべての画像にも当てはまります(UITableViewCellの画像は、画像がスクロールしているときに大きい)
  • レイヤーが多い場合、アルファチャンネル!= 1の画像はパフォーマンスを大幅に低下させます(ただし、多くの場合、避けられません)
  • UIColor.colorWithPatternImage()この方法は問題があると考えられるため、で作成された背景画像は注意して使用する必要があります(詳細はこちら

ここで、画像の非同期ロードについては、次のライブラリを確認することをお勧めします。

どちらも素晴らしいので、それは本当に好みの問題です(私はハネケの方が好きです)が、Webからでもバンドルからでも、さまざまなスレッドで画像をダウンロードできます。また、UIImageViewの拡張機能があり、1行の関数を使用してすべての画像を簡単に読み込むことができます。

それが役に立てば幸い!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

iOSでフォームを実装するためのベストプラクティスは何ですか

分類Dev

iOS-画像をローカルに保存するためのベストプラクティス-NSCacheとドキュメントディレクトリに保存

分類Dev

iOS4デバイスでバックグラウンドで大量のデータを送信するためのベストプラクティス?

分類Dev

iOSアプリにトークンを保存するためのベストプラクティス

分類Dev

UiTableviewの複数のアクションを配置するためのiOSのベストプラクティス

分類Dev

フィッシング攻撃をiOSにするためのカスタムURLスキームの悪用に対処するためのベストプラクティス

分類Dev

iOSストーリーボードのカスタムフォントで動的タイプのアクセシビリティサイズを尊重する方法

分類Dev

データベースのパフォーマンスとトラフィック処理についてウェブサイトをテストする

分類Dev

iOSアプリで動画をアップロードするためのベストプラクティス

分類Dev

iOSネイティブアプリケーションを開発するためのデフォルトのデータベースはありますか?

分類Dev

FlutterアプリケーションのAndroidとiOSを配布するための最良の方法。Flutterベータ分布のベストプラクティス

分類Dev

iOS-ストーリーボードでコードマージを管理するためのベストプラクティス

分類Dev

ImagePicker(iOS)から複数の画像を保存およびアップロードするためのベストプラクティス

分類Dev

iOS8でビデオPHAssetのディスク上のファイルサイズを確認するにはどうすればよいですか?

分類Dev

インターネットの可用性を処理するためのベストプラクティス

分類Dev

cocoapodとソース管理を使用するためのiOSプラクティス

分類Dev

iOS Swift:代替UIViewControllerでアプリを起動するためのベストプラクティス

分類Dev

これは、iOSの画像ギャラリーに使用するためのベストプラクティスです

分類Dev

.CSVファイルをSQLServerにインポートするための(パフォーマンス面での)ベストプラクティス

分類Dev

iOSでキャッシュディレクトリをクリアするためのベストプラクティスは何ですか?

分類Dev

constクラスデータを処理するためのベストプラクティス

分類Dev

iOS:SwiftでaddTarget()を再作成するためのベストプラクティス?

分類Dev

Javaでデータ型のサイズ(sizeof)を取得するためのベストプラクティス

分類Dev

ベストプラクティス:Ruby(Rails)からiOS(AFNetworking)へのエラー処理

分類Dev

iOSでのコアグラフィックスのパフォーマンス

分類Dev

iOSでのコアグラフィックスのパフォーマンス

分類Dev

C ++ファイルIO中のすべてのエラー(またはiosオブジェクトのエラー)をキャッチするためのベストプラクティス

分類Dev

SailsJSで例外を処理するためのベストプラクティス

分類Dev

検索を処理するためのベストプラクティス

Related 関連記事

  1. 1

    iOSでフォームを実装するためのベストプラクティスは何ですか

  2. 2

    iOS-画像をローカルに保存するためのベストプラクティス-NSCacheとドキュメントディレクトリに保存

  3. 3

    iOS4デバイスでバックグラウンドで大量のデータを送信するためのベストプラクティス?

  4. 4

    iOSアプリにトークンを保存するためのベストプラクティス

  5. 5

    UiTableviewの複数のアクションを配置するためのiOSのベストプラクティス

  6. 6

    フィッシング攻撃をiOSにするためのカスタムURLスキームの悪用に対処するためのベストプラクティス

  7. 7

    iOSストーリーボードのカスタムフォントで動的タイプのアクセシビリティサイズを尊重する方法

  8. 8

    データベースのパフォーマンスとトラフィック処理についてウェブサイトをテストする

  9. 9

    iOSアプリで動画をアップロードするためのベストプラクティス

  10. 10

    iOSネイティブアプリケーションを開発するためのデフォルトのデータベースはありますか?

  11. 11

    FlutterアプリケーションのAndroidとiOSを配布するための最良の方法。Flutterベータ分布のベストプラクティス

  12. 12

    iOS-ストーリーボードでコードマージを管理するためのベストプラクティス

  13. 13

    ImagePicker(iOS)から複数の画像を保存およびアップロードするためのベストプラクティス

  14. 14

    iOS8でビデオPHAssetのディスク上のファイルサイズを確認するにはどうすればよいですか?

  15. 15

    インターネットの可用性を処理するためのベストプラクティス

  16. 16

    cocoapodとソース管理を使用するためのiOSプラクティス

  17. 17

    iOS Swift:代替UIViewControllerでアプリを起動するためのベストプラクティス

  18. 18

    これは、iOSの画像ギャラリーに使用するためのベストプラクティスです

  19. 19

    .CSVファイルをSQLServerにインポートするための(パフォーマンス面での)ベストプラクティス

  20. 20

    iOSでキャッシュディレクトリをクリアするためのベストプラクティスは何ですか?

  21. 21

    constクラスデータを処理するためのベストプラクティス

  22. 22

    iOS:SwiftでaddTarget()を再作成するためのベストプラクティス?

  23. 23

    Javaでデータ型のサイズ(sizeof)を取得するためのベストプラクティス

  24. 24

    ベストプラクティス:Ruby(Rails)からiOS(AFNetworking)へのエラー処理

  25. 25

    iOSでのコアグラフィックスのパフォーマンス

  26. 26

    iOSでのコアグラフィックスのパフォーマンス

  27. 27

    C ++ファイルIO中のすべてのエラー(またはiosオブジェクトのエラー)をキャッチするためのベストプラクティス

  28. 28

    SailsJSで例外を処理するためのベストプラクティス

  29. 29

    検索を処理するためのベストプラクティス

ホットタグ

アーカイブ