我正在用Java创建这个Android项目。但是,我想知道带有某些Bitmap方法的引用将走多远。

我有一个原始的位图,就像:

Bitmap originalBitmap = BitmapFactory.decodeResource(resources, bitmapID);


然后将其发送到基本类的构造函数中的对象:

class Test
{
    Bitmap memberBitmap;

    Test(Bitmap b)
    {
        memberBitmap = b;
    }
}


到目前为止,我知道memberBitmap仍然是对originalBitmap的引用。但是我想做的基本上是使用以下方法调整此位图的大小:

memberBitmap = Bitmap.createScaledBitmap(memberBitmap, newWidth, newHeight, filter);


我现在是否已将新的位图存储到内存中或更改了originalBitmap?

如果是这样,那么我创建了一个新的位图,是否需要进行任何更改以使其更新originalBitmap?

喜欢:

memberBitmap.createScaledBitmap(memberBitmap, newWidth, newHeight, filter);

最佳答案

借助该API的声音,它可能正在内存中创建新的位图。您可以通过在构造函数运行后在两个对象上打印出toString()并检查它们的内存位置是否相同来进行检查。

对于第二个问题:将originalBitmap更改为对新的Bitmap的引用。

10-05 19:37