2

iOS アプリケーションのサイズが気になります。私の質問は次のとおりです。非 Retina デバイスがAppStore からアプリケーションをダウンロードしている場合、Retina イメージ (つまり、@2x のもの) もダウンロードしますが、使用されることはありませんか? 別の言い方をすると、AppStore はターゲット デバイスに応じて異なるアプリケーション パッケージを公開しますか?

ありがとう !

4

2 に答える 2

7

はい、App Store からダウンロードしたすべてのバイナリはまったく同じです (注入される iTunes レシートを除く)。

@2xファイルが大きく、バイナリを圧縮する方法を探していると思います。そのため、いくつかの解決策を次に示します。

  • @2xまたは非リソースを実行時にダウンロードする場合は@2x、それらをバイナリに近いドキュメント フォルダーに保存できますが、ユーザーが追加でダウンロードする必要があります。
  • CoreGraphics を使用して、実行時にアートワークの一部を描画できます。CoreGraphics は非常に広範で、十分な経験があれば、Photoshop で行うのと (ほぼ) まったく同じことができます。(内部シャドウ、内部グロー、ドロップ シャドウ、グラデーションなどを含むいくつかの UI 要素をコードに移植することができました)。
  • リソースを WebP に変換するか (品質を落とさずにかなりよく圧縮されます)、PNG コンプレッサーを使用できます (Xcode が使用する PNG コンプレッサーはそれほど圧縮されないため)。
  • リソースをパターン化してみてください。たとえば、100x100 ごとに繰り返される背景を使用している場合、それを 640x960 ファイルとして保存するのではなく、パターンとして保存し、再度 CoreGraphics を使用して実行時にレンダリングする方が理にかなっています。ナビゲーション バーを 640x88 (320x44) として保存しないでください。代わりに 640x2 (320x1) として保存するか、角を丸くしたい場合は を使用してください[UIImage stretchableImageWithLeftCapWidth:topCapHeight:]

個人的には、2 番目と 4 番目のオプションの組み合わせをお勧めします。これは、ユーザー エクスペリエンスに影響を与えず、非標準の画像形式を使用する必要がないためです。

于 2013-05-05T10:57:42.847 に答える
0

すべてをダウンロードします: 通常の画像と @2x 画像

于 2013-05-05T10:44:43.010 に答える