1

画像の JPEG 形式は透明度をサポートしていません。参照。

ARGB_8888は、Android で画像を読み込むためのデフォルトの形式です。参照。

では、JPEG 画像を として読み込むとARGB_8888、すべてのピクセルで 8 ビットのアルファ チャネルが使用されるわけではありませんか?

メモリを失わないようにするには、としてロードする必要がありRGB_888ますよね?しかし、そのようなBitmap.Configものは存在しません。なんで?

巨大な JPEG 画像に最適です。処理が遅くなっても構わない。記憶は私にとって非常に重要です。RGB_888オプションがないという理由だけで、メモリの 25% を失う方が良いでしょうか?

4

2 に答える 2

0

この質問への答えは、あなたが置かれている状況に大きく依存していると思います.メモリの問題、スペース、または帯域幅が使用を思いとどまらせますARGB_8888か? そうでない場合は、それを使用してください。

ドキュメントによると、

可能な限り使用する必要があります。

編集

RGB_888 はデフォルトのBitmap.ConfigオプションではありませんRGB_565が、4 as と比較して 2 バイトを使用するARGB_8888ため、状況に基づいて決定を下すことになります。

必要な処理能力を得るために、画質と使用メモリを削減してもよろしいですか?

于 2013-08-22T20:12:08.417 に答える
0

必ずしもそうとは限りませんが、画像操作を実行するときにレンダラーを内部的に 4 チャネル画像で動作するように設計できます。3 チャンネルの画像をアップロードするとメモリを節約できますが、特別な操作が必要になります。GPU で高速化されたグラフィックスの場合、これはさらに大きな問題になる可能性があります (GPU ドライバーはおそらく偽のアルファ チャネルを生成するでしょう)。

于 2013-08-22T20:26:20.727 に答える