1

これに関する問題: iphone 4 - 画像の読み込み x 古いデバイス

つまり、アプリを二重のコンテンツで満たしてしまうということです。つまり、ユーザーは 2 倍サイズと 1 倍サイズの両方の画像を自分のデバイスにダウンロードする必要がありますが、最終的にはどちらか一方しか使用せず、もう一方はダウンロード時間の無駄になります。

そのため、場合によっては、アプリに高解像度の画像 (@2x) を入力するだけで問題ない可能性があり、アプリの起動時 (アプリのデリゲートで、ウィンドウを表示する前など) に、バッチ処理を実行できると考えました。低解像度画面デバイス用にすべての @2x 画像を縮小します。縮小すると、これらのファイルをデバイスのドキュメントやキャッシュ フォルダーに保存し、元の @2x 画像を削除します。どうですか、もうやった人いますか?(私のグーグル、彼らは何もしません)これの欠点はありますか?Apple は、これを行った私をどこかで叩きのめしますか? 等...

4

2 に答える 2

1

あなたは間違いなくそれらの@2x画像をバッチスケーリングし、スケーリングされたファイルをドキュメントフォルダに保存することができます。これにより、ダウンロード時間が節約され、アプリケーションにすべてをバンドルするのと同じ量のスペースが使用されますが、複雑さが増します。元の@2xイメージを削除することは可能ではないと思いますが、削除したとしてもその価値はあります。デバイス間でアプリやユーザーデータを移動する可能性があります。両方を取得したら、解像度に基づいて適切なデータを選択するのが最善です。そして、私はAppleがこれをするためにあなたを叩く理由をあまり見ていません。

ああ、そしてもちろん、あなたが本当にたくさんのデータを持っているなら、数百メガバイトのオーダーで、アプリの2つのバージョンを実行することは理にかなっているかもしれません(例えば、Rageの静脈で)。

于 2011-02-15T11:14:12.237 に答える
0

とりあえずの感想を答えます。

  • バッチを実行するときは、画像をキャッシュ/ドキュメントフォルダーなどに保存する必要があります。つまり、IB で指定された画像は、低解像度のデバイスではまだ見つからず、通常の imageNamed などを使用しても見つからない可能性があります (これについてはまだわかりません)。これを修正するか、viewDidLoad で手動で画像を追加する必要があるかもしれません。乱雑なにおいがします。良い解決策でうまくいくかもしれません...

  • アプリのアップデートで面倒かもしれません。アプリの更新の公開が遅いため (申し訳ありませんが、Apple、はい、更新の公開は遅いです)。更新では、更新で変更/削除された古い画像がまだキャッシュに残っていないことを確認するために、おそらくキャッシュフォルダーを消去する必要があります。キャッシングは、何らかのバージョン管理で監視する必要があります。現在のアプリのバージョンを確認し、このバージョンでキャッシュが行われているかどうかを確認します。そうでない場合は、キャッシュを更新する、一種の流れです。

于 2011-02-16T03:09:30.277 に答える