5

画面サイズに最適にフィットし、必要以上のメモリを消費しないように画像をスケーリングしたいと考えています。

現在、640 x 960 の画面用に作成した画像を hdpi フォルダーに入れています。見栄えは良いのですが、必要以上に多くのメモリを消費します。たとえば、480 x 800 のデバイスは hdpi であり、これらのビットマップをロードします。

私が知っているほとんどの hdpi デバイスは 480 x 800 であるため、hdpi のすべての画像を 480 x 800 の画面に合わせて縮小することを最初に考えました。しかし、hdpi は解像度だけではなく、密度を指すため、よくわかりません。

フォルダーは密度を参照するのでわかりにくいですが、ビットマップは単なるピクセルであり、そこに割り当てる方法がわかりません...

どんな助けでも大歓迎です。

より多くのコンテキストを提供するには:問題は、各 640 x 588 ピクセルのビットマップが 20 個を超えるビットマップ アニメーションがあることです。したがって、一部のデバイスでは、これだけでメモリ不足になります。640 x 588 で占有されるメモリは、各ビットマップで 1.43 MB です。480 x 441 に縮小すると、0.80 mb になり、これは大きな改善です。480 x 800 のデバイスでは詳細が失われないため、すべてのタイルを縮小します。

4

1 に答える 1

6

私の意見では、全画面に収まるようにサイズ変更された画像は、一般的に Android には適していません。そうは言っても、それが必要な場合は、メモリ使用量についてあまり心配せず、特定の密度に必要と思われる最大サイズを選択し、そこから画面サイズのわずかな変化に応じて OS をスケールダウンさせます。 . drawable-large-hdpiより具体的な情報が必要な場合は、画面サイズでもドローアブルを指定できることを忘れないでください (例: )。

画像によっては、背景の一部を伸縮可能にすることができる場合は、9 パッチにして、その密度バケットの最小画面に収まるようにサイズを変更し、そのように画面に収まるようにすることをお勧めします.

于 2012-07-23T14:30:12.627 に答える