我不太确定会将多少内存分配给以下变量" bitmap",
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.example);
bitmap = Bitmap.createScaledBitmap(bitmap, 100, 100, true);
比如说,原始图像的尺寸是1024 * 768,并且已经为位图分配了一些内存。然后将位图缩放到100 * 100,并将内存分配给变量" bitmap"由于尺寸的变化而改变了吗?
答案 0 :(得分:1)
变量只占用少量内存(如果有的话)。最多几个字节。对象类型的变量仅使用足够的内存来存储指向对象的指针。
然而,变量指向的对象会占用任何数量的内存。 createScaledBitmap创建一个新的位图,因此在运行代码后,内存中可能会有两个位图。其中一个(原始的,较大的一个)然而不再有任何指向它的实时引用(例如变量),因此它最终将被垃圾收集。