“Bitmap.createScaledBitmap”是否将32位图像转换为24位?

在我的应用程序中,我这样加载一个32位的图像(ARGB_8888):

Bitmap.Config mBitmapConfig; mBitmapConfig = Bitmap.Config.ARGB_8888; BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = mBitmapConfig; mBitmap = BitmapFactory.decodeFile(SourceFileName, options); 

然后缩放:

 mBitmap = Bitmap.createScaledBitmap(mBitmap, iW, iH, true); 

如果我使用缩放相同的宽度和高度的原始位图,它是兆字节的大小的一半(我正在观看堆大小)。 缩放后,将值“ARGB_8888”更改为“RGB_565”(24位)会以兆字节为单位给出相同的大小。

有人可以解释这种现象,并可能给我一个build议,如何在32位色彩空间缩放位图? 谢谢!

  • 将不可变的位图文件转换为可变的位图
  • 在android上使用JNI进行图像解码和操作
  • 有没有办法从Android的文件中加载和绘制部分位图?
  • Android位图保存没有透明区域
  • 如何将较小的位图复制到较大的位图?
  • 如何打开一个JPG文件作为BITMAP与SDCARD上存储的JPG?
  • Android:使用Zxing生成的QR码有边距(不适合该区域)
  • 在尝试发送带有图像的表单到PHP服务器时,Android中的内存泄漏