たくさんの画像を表示するアプリケーションがあります。画像は、デバイスの全画面サイズまでさまざまなサイズにすることができます。画像はすべてダウンロードされます。imagemagickを使用して画像の色を減らし、ファイルサイズを圧縮し、サイズを同じに保ち、ダウンロード時間を短縮します。縮小された色空間は、私のアプリケーションには問題ありません。
問題は、Androidのビットマップに画像をロードすると、ARGB_8888のAndroidのビットマップ構成のためにファイルサイズがはるかに大きくなることです。アルファチャネルが必要です。ARGB_4444は非推奨であり、パフォーマンスの問題があったため、私はそれを使用していません。寸法を元のビットと同じに保ちながら、ロードされたビットマップのメモリフットプリントを削減する他の方法があるかどうか疑問に思っていますか?
- - アップデート - -
ここでの議論や他の多くの検索/読み取りの後、これを行う簡単な方法があるようには見えません。各ピクセルを1ピクセルあたり4バイトではなく、2バイトとして格納するARGB_4444を使用できます。問題は、ARGB_4444が非推奨になっていることです。明らかな理由で、APIの非推奨部分を使用しないようにしています。アルファが必要なため、AndroidではデフォルトのARGB_8888を使用することをお勧めします。これを使用する必要があります。このような複雑な色空間を必要としないアプリケーションはたくさんあるので、ARGB_4444などがサポートされているAPIの一部になるのを見るといいでしょう。