0

私たちのグラフィックスの人は、私たちが構築しているアプリケーションのスライスされた画像を私にくれましたが、彼は私に960x640 iPhone4resの解像度しか教えてくれませんでした。

また、実行時に画像を3gに縮小できるので、解像度/画像サイズは同じままですが、半分のサイズで表示されるだけであるとアドバイスしました。

質問:これは、アプリストアに送信するときに許可されますか、それとも次のような要件がありますか?

IMAGE1@2x.PNG(460x640)-iPhone 4

IMAGE1.PNG(230x320)-iPhone 3g

すべての画像。

最大のスペースを節約するために、バッチ変換を実行し、すべての画像に対して2つの解像度を使用する場合があります。

4

3 に答える 3

2

それは許可されていますが、明らかに、古いデバイスでは、画像は4倍のピクセルを持ち、そうでない場合の4倍のRAMを占有します。iPhone 4には512MBのRAMが搭載されていますが、3Gとオリジナルには128MBしか搭載されていません。メモリ警告を正しく処理していて、すべてがまだ収まっていると仮定すると、主な副作用は、物事がパージされ、後でディスクからリロードされるたびにパフォーマンスの問題になります(これは、ご存知のとおり、表示用に自動的に処理されます) NIBのコントローラー)。経験的な観察に基づくと、3GSより前のデバイスのフラッシュメモリは後のデバイスよりもはるかに遅いため、大きな画像を使用している場合でも、ディスク上のサイズを最小化することは理にかなっています。

于 2010-12-08T00:29:44.790 に答える
0

確かに事前にバッチスケーリングを行います。iPhoneが、画面の解像度に応じてIMAGE1.PNGまたはIMAGE1@2X.PNGを表示するかどうかを選択する以外の理由がない場合。コードでは、常にIMAGE1.PNGを参照するだけです。コーディングを変更する必要はありません。実行時にそれらをスケーリングする場合は、UIImageタイプのものへのすべての呼び出しをオーバーライドする必要があります。

私見、あなたは1つを見逃す可能性があります。さもないと、Appleは別の構成の電話をリリースする可能性があり、画面の解像度をチェックしているすべてのコードをやり直す必要があります。

于 2010-12-08T00:36:30.850 に答える
0

私にとって有効なベストプラクティスは、網膜画像を作成してから、それを50%縮小することです。

Retinaディスプレイで大きな画像を使用するには、@2xが大きな画像の一部である必要があります。あなたの例はそれが使われるべき方法です。

于 2010-12-08T00:23:59.170 に答える