3

iPhone 4の素晴らしいディスプレイにより、新しい画面を活用するために高解像度のアートワークを作成することができました。

私の質問は、画像を適用するためのより良い方法は何ですか?現在、これを行うには2つの方法があります。

  • 「image.png」と「image@2x.png」の2つの画像を使用します。これに伴う問題は、アプリに大量の画像が必要な場合、バンドルのサイズが大幅に大きくなることです。また、画像を拡大縮小して正しく保存する必要があり、かなりの時間がかかる場合があります。

  • 画像のスケーリング。大きな画像のみをロードしてから、コードまたはInterface Builderを使用して50%に拡大縮小します。これにより、バンドルサイズとデザイン時間が短縮されますが、小さな画面では見栄えが悪くなる可能性があります。

どの方法が最適だと思いますか、またその理由は何ですか?

4

5 に答える 5

5

デバイスメモリも考慮に入れてください。古いデバイス(3G、3GS)に2倍のサイズの画像を読み込んでいる場合、縮小して表示されることがあります(コンテナビューでスケールプロパティを適切に設定した場合)が、大きい画像は必要な2倍のメモリを消費します一度ロードされます。使用するイメージの数が増えると、RAMの無駄な量も増えます。

アプリケーションを実行しているデバイスに適切なものだけをロードすると、長期的にはパフォーマンス上の利点がわかります。

編集:これは、私の投票が2つの別々の画像ファイルを使用することを意味することに注意する必要があります。それが明確でない場合:)

于 2010-08-18T14:49:04.773 に答える
3

バンドルサイズ!=WirelessDesignsが示すRAMサイズ。バンドルサイズについて心配する必要はありません。本当に古いデバイス(オリジナルのiPod Touchなど)のサポートに本当に関心がある場合は、アプリの2つのバージョンをリリースしてください。

それ以外の場合は、手元のデバイスに適した画像のみをロードしてください。

于 2010-08-18T14:53:09.743 に答える
3

場合によります。可能であれば、低解像度の画像を高解像度のディスプレイに再スケーリングしないでください。

アイコンのようなものでは、すべてのピクセルが重要であり、高解像度バージョンと低解像度バージョンの両方が必要です。

写真画像や背景のような他の人にとっては、正しく行われれば、ダウンスケーリングは問題ありません。

于 2010-08-18T14:37:15.503 に答える
1

20MBの制限を超えて実行している場合は、コードで画像をスケーリングすることをお勧めします。その時点でバンドルサイズが重要になります。人々があなたのアプリを3Gにインストールできない場合、多くのダウンロードが失われます。

20MBのルールに加えて、個別の画像を用意することをお勧めしますが、それができない場合は、プログラムでUIImageを小さいUIImageに再スケーリングしてから、UIImageViewにパックします。ただし、100x100のUIImageを50x50のUIImageViewに入れないでください。UIImageを再スケーリングすると、見栄えが良くなります。

于 2010-08-18T15:18:21.330 に答える
1

約100枚の画像(ディスプレイのバージョンごと)でアプリを作成しました。このアプリは超ユニバーサルです(iPad、iPhone / iPod touch、iPhone 4のディスプレイをサポートしています)。バンドルのサイズは大きくなりますが、それは問題ではなく(私のアプリでは、主要な部分は画像とサウンドです。各画像のサウンドです)、サイズは100MB未満です。たくさんありますが、比例してそれほど大きくならないことがわかります。常に互換性を最優先する必要があります。

そして、誰かが前に言ったように、あなたのバンドルのサイズはあなたのアプリが使用しているメモリに影響を与えません。2つのバージョンの画像を使用したくない場合は、コードでわざわざスケールアップしないでください。iPhone(ピクセル化)やiPhone 4ディスプレイ(ぼやけた)ではうまくいきません。私を信じてください、私はそれを経験しています。

于 2010-08-18T17:03:03.630 に答える