Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果我们不';你不需要吗?_Android_Bitmap_Recycle - Fatal编程技术网

Android 如果我们不';你不需要吗?

Android 如果我们不';你不需要吗?,android,bitmap,recycle,Android,Bitmap,Recycle,位图有一个recycle方法,但如果我们不再需要它,是否必须显式调用它 例如,ImageView现在有一个位图。当用户单击按钮时,它将为ImageView设置一个新位图 在分配新位图之前,我们必须回收原始位图吗?是的,如果您的目标设备是Android较旧的3.0。这将避免您在OutOfMemoryException中输入代码 注意:在android 3之前,位图内存是在本机堆中分配的。从GC的角度来看,java对象将保留较低的内存。我不认为这是完全正确的,这取决于您首先如何将位图绑定到image

位图有一个
recycle
方法,但如果我们不再需要它,是否必须显式调用它

例如,
ImageView
现在有一个位图。当用户单击按钮时,它将为ImageView设置一个新位图


在分配新位图之前,我们必须回收原始位图吗?

是的,如果您的目标设备是
Android
较旧的
3.0
。这将避免您在
OutOfMemoryException
中输入代码


注意:在android 3之前,位图内存是在本机堆中分配的。从GC的角度来看,java对象将保留较低的内存。

我不认为这是完全正确的,这取决于您首先如何将位图绑定到imageview,以及位图的大小,我不会调用recycle(),因为它是android 3.0之前的版本,当然这取决于它的大小。但不要回收()这意味着本机内存泄漏。这就是当你忘记在一个新的(c++)之后调用delete时的情况。GC最终会清理,所以它不完全是一个内存泄漏,因为内存是由GC恢复的,这只是GC没有足够快地释放关键位图内存的问题,但是在通常情况下,例如绑定列表中的图标,到目前为止,它对我来说还可以,我唯一一次遇到位图预算问题是快速交换大图像