我正在使用Java创建这个Android游戏。然而,我加载位图,然后调整它们的大小以适应屏幕等(dpi并不是非常精确)。但我的想法也是为了在RAM较少的设备上以16b(mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_4444)加载位图。但当我调整位图大小时,它们似乎会变回32b(Bitmap.Config.ARGB_8888)。
这是我声明选项的方式:
有什么想法,为什么新的位图忽略了选项?
这是我声明选项的方式:
mBitmapOptions = new BitmapFactory.Options();
mBitmapOptions.inPreferredConfig = Bitmap.Config.ARGB_4444;
这是我加载位图的方法:
mBitmaps.add(getResizedBitmap(BitmapFactory.decodeResource(mResources, imagePath, mBitmapOptions)));
这是getResizeBitmap方法:
public Bitmap getResizedBitmap(Bitmap bm)
{
//Original size
int width = bm.getWidth();
int height = bm.getHeight();
//New size (percent)
float newWidth = 1 * mScaleWidth;
float newHeight = 1 * mScaleHeight;
//Create the matrix
Matrix matrix = new Matrix();
matrix.postScale(newWidth, newHeight);
//Recreate the new Bitmap
Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
//Recycle the old Bitmap
bm.recycle();
return resizedBitmap;
}
有什么想法,为什么新的位图忽略了选项?