3

私はiPhoneアプリケーションを開発していて、アプリの背景画像を使用しています。私は、iphone 4の前は、画面の解像度が480x320で、960x640以降だったことを知っています。私は:のような2つの画像を使用する必要があることを読みMyImage.pngましMyImage@2x.pngた。2つの異なる解像度で、アプリは電話に応じてどちらを選択するかを認識します。私の質問はとても簡単です。960x480だけを使用する場合、違いは何ですか?私はiphone3gsで開発していて、この解像度を使用していて、すべてが完璧に機能します。では、なぜこれらの電話の解像度が小さいのでしょうか。

4

3 に答える 3

4

私の意見では、違いは次のとおりです。電話は2倍の解像度を半分のサイズにサイズ変更します。これにより、(1)最終的な画像がからエクスポートした場合ほど滑らかではなくなります。 IllustratorやPhotoshopのような画像アプリケーション-少なくとも私自身の経験から、網膜以外のデバイスで両方の解像度をエクスポートすると、通常の解像度をエクスポートした場合の画像の見栄えが悪くなります。また、(2)デバイスがこの変換を行うために時間/パフォーマンスを浪費しますが、それがどれほど重要かはわかりません。そして(3)最後に、2倍のサイズの画像は大きなファイルであり、代わりに小さなファイルを使用できることを考えると、必要なしにメモリを過負荷にする可能性があります。

この問題を気にしない場合は、先に進むことができます。自分で試してみてください。

于 2012-09-03T08:24:00.233 に答える
2

他に何もないとしても、高解像度の画像はメモリにはるかに負担をかけます。320✕480の1つのフルスクリーン画像はメモリ内で約600Kですが、640✕960はほぼ2.5Mで、4倍です。古いデバイスでは、新しいデバイスよりもメモリがはるかに少なく、開発サイクルの後半で、より多くのリソースが使用されているときに問題が発生する可能性があります。

サポートされているすべての古いデバイスでアプリをテストでき、パフォーマンスの問題や視覚的な不具合がすぐに発生しないことを保証できる場合でも、アプリはより多くのメモリを使用するため、OSは他のアプリをより頻繁に強制終了します(=ユーザー全体の悪化)経験)。

于 2012-09-03T08:24:14.420 に答える
1

1つのバージョンの画像(960x640)を使用する場合、アプリを非網膜で実行するとメモリのオーバーヘッドが発生します。高解像度を非網膜で表示する必要はありません。網膜ディスプレイでのみ表示されます。2つのバージョンの画像.pngと@2x.pngを作成すると、現在使用されているデバイスに応じて、ロードする画像のバージョンがiosに通知されます。

于 2012-09-03T08:26:21.503 に答える