4

これらの各フォルダーに、同じイメージの 4 つのバージョンを含む Android アプリがあります。

drawable-ldpi/ drawable
-mdpi/
drawable-hdpi/
drawable-xhdpi/

画像の唯一の違いはサイズです。元の大きな画像を次の式に従って縮小しただけです。

120dp lpdi、1 dp=0.75 px
160dp mpdi、1 dp=1 px
240dp hdpi、1 dp=1.5 px
320dp xhpdi、1 dp=2 px

問題は、100 を超える画像を使用するつもりであるため、ファイル サイズを小さくするために、各画像の 4 つのバージョンを保持する代わりに、drawables/ フォルダーに xhdpi バージョンを配置するだけでは、Android は必要に応じて画像をスケーリングできませんか? このようにすることの欠点は何ですか?単にパフォーマンスとファイル サイズのトレードオフですか?

4

3 に答える 3

1

xhdpi バージョンをドローアブル リソースに入れるだけです。次に、レイアウト/xml ファイルで、画像の寸法を dp で指定します。Android はそれに応じて画像を縮小します。描画可能なリソースを縮小している限り、画像の品質は変わりません。

于 2012-10-29T15:12:26.330 に答える
1

xhdpi リソースのみを使用すると、アプリのパフォーマンスが大幅に低下します。さらに、低範囲のデバイス (小さな画面と小さなメモリ) では、VM がメモリ不足になり、これらの大きなビットマップの処理中にクラッシュする可能性が非常に高くなります。

ハイエンド デバイスですべてを開発し、シンプルな Photoshop 自動化を使用して他のリソースを作成できますが、アプリがミッドレンジおよびローレンジ デバイスで動作しないよりも大きな APK を使用することをお勧めします。

別のオプションとして、複数の APK (画面の種類ごとに 1 つ) をエクスポートし、マニフェストを使用してサポートする画面サイズを指定し、市場が適切な APK を適切なデバイスにフィルター処理できるようにすることもできます。

于 2012-10-29T15:19:58.303 に答える
0

あなたはできる。不利な点は、画質がわずかに悪いことです。hdpi ディスプレイの場合、240/320 倍、つまり 0.75 にスケーリングする必要があると考えてください。または、たとえば 1D ピクセル ラインでは、4 つのソース ピクセルから 3 つのターゲット ピクセルを構成する必要があります。ほとんどの場合、非常に見栄えがしますが、一部のピクセル アートは例外である可能性があると思います。これも遅くなる可能性があり、可能な限り多くのメモリを使用する可能性があると思いますが、それを測定していないため、確かなことはわかりません.

PS私もこの方法を使用しています(xhdpiリソースのみを提供しています)。

于 2012-10-29T15:14:49.747 に答える