根据Android Developers site,Bitmap.recycle()
方法定义是:
释放与此位图关联的原生对象,并清除对像素数据的引用
我开发了一些创建/解码大量位图的应用程序,并将结果位图对象放入ImageView
s. 有时我会遇到一些著名的例外情况,例如:
位图大小超出虚拟机预算
和
内存不足错误
此外,我确定我没有任何可能导致这种情况的内存泄漏。
经过大量搜索,我发现了“回收”方法,并在不再需要时使用它来释放位图的本机内存。 好像帮了大忙。
我在问在这种情况下我是否应该这样做,因为我知道系统无论如何都会这样做而没有明确调用它(是吗?也许我错了)。
我应该在这种情况下使用这种方法吗?
在什么情况下我应该使用这种方法?
我应该使用这种方法吗?
提前致谢。
更新:
谷歌最近发布了这个指南,上面写着:
在 Android 2.3.3(API 级别 10)及更低版本上,建议使用 recycle()。如果您在应用程序中显示大量位图数据,您可能会遇到 OutOfMemoryError 错误。recycle() 方法允许应用程序尽快回收内存。