这个位图分配了多少内存?

时间:2015-05-15 02:08:09

标签: android android-bitmap

我不太确定会将多少内存分配给以下变量" bitmap",

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.example);
bitmap = Bitmap.createScaledBitmap(bitmap, 100, 100, true);

比如说,原始图像的尺寸是1024 * 768,并且已经为位图分配了一些内存。然后将位图缩放到100 * 100,并将内存分配给变量" bitmap"由于尺寸的变化而改变了吗?

1 个答案:

答案 0 :(得分:1)

变量只占用少量内存(如果有的话)。最多几个字节。对象类型的变量仅使用足够的内存来存储指向对象的指针。

然而,变量指向的

对象会占用任何数量的内存。 createScaledBitmap创建一个新的位图,因此在运行代码后,内存中可能会有两个位图。其中一个(原始的,较大的一个)然而不再有任何指向它的实时引用(例如变量),因此它最终将被垃圾收集。