android - 分配给这个 Bitmap 的内存有多少?

标签 android android-bitmap

我不太确定有多少内存将分配给以下变量“位图”,

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

比如说,原图的尺寸是1024*768,位图已经分配了一些内存。那么位图被缩放到100*100,分配给变量“位图”的内存会不会因为维度的变化而改变?

最佳答案

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

但是,变量指向的

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

关于android - 分配给这个 Bitmap 的内存有多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30250413/

相关文章:

android - 如何禁用与 OkHttp 的一个连接的重试?

java - 运行 Android KitKat 代码在 Lollipop 设备上崩溃

Android:将 Canvas 绘制到 View

android - 下载的位图图像显示太小

android - android中的半透明指令 Activity

android - 从 firebase 检索特定数据

java - android,屏幕底部的ImageView

android - 将图像加载到位图对象时出现奇怪的 OutOfMemory 问题

android - 使用 OpenGL 将位图绘制到 VideoFrame

java - Android apt 从 1.4 升级到 1.7 版本