根据Android参考文档Bitmap.recycle()
:
释放与此位图关联的本机对象,并清除对像素数据的引用。这不会同步释放像素数据;如果没有其他引用,它只是允许它被垃圾收集。该位图被标记为“死”,这意味着如果调用 getPixels() 或 setPixels() 将引发异常,并且不会绘制任何内容。此操作无法反转,因此只有在您确定位图没有进一步用途时才应调用它。这是一个高级调用,通常不需要调用,因为当没有更多对该位图的引用时,正常的 GC 进程将释放此内存。
但是,我读过的许多书都建议通过调用 Bitmap.recycle() 来释放内存,确保不再需要它。
这让我很困惑:使用后是否需要调用Bitmap.recycle()
?