【发布时间】:2013-08-29 10:03:07
【问题描述】:
根据Bitmap.recycle()的Android参考文档:
释放与此位图关联的本机对象,并清除 参考像素数据。这不会释放像素数据 同步;它只是允许它被垃圾收集,如果有 没有其他参考。该位图被标记为“死”,这意味着它 如果调用 getPixels() 或 setPixels() 将抛出异常,并且 什么都不会画。此操作不可逆转,因此应 只有在您确定没有其他用途的情况下才会调用 位图。 这是一个高级调用,通常不需要调用, 因为正常的 GC 进程会在没有 对此位图的更多引用。
但是,我读过的很多书都建议通过调用 Bitmap.recycle() 来释放内存,确保不再需要它。
搞得我一头雾水:用完后需要打电话Bitmap.recycle()吗?
【问题讨论】:
-
当 Bitmap 不被使用时,GC 会释放它,但是调用
recycle()会帮助 GC 检查那部分内存是否空闲。在加载和卸载位图(例如在列表或图库中)时调用recycle()可能是一个好习惯