我提出了一个新问题,因为这与我的最后一个线程不同。我现在知道这个问题更准确。Java BufferedArrayOutputStream在内存中泄漏
我创建了一个新的bytearrayoutputstream
ByteArrayOutputStream byteArray = new ByteArrayOutputStream();
没什么特别的。 然后,当我写的图像给它,这样
ImageIO.write(image, "gif", byteArray);
内存增加,如100 MB首先,不要在日食,但在“现实”。然后,在每次我向该流或另一个流写入新图像时,它会慢慢增加!
经过一段时间它停止工作,有点崩溃。
我已经尝试关闭它,所有的,冲洗,重置,一切,但它仍然泄漏内存。当我停止使用byteArray或将它清空时,我希望它远离内存。
System.gc();
不会帮助在这种情况下。
请帮我和其他任何你需要知道我要回答,请返回并回信:)
在这种情况下,您不需要手动调用'System.gc()'。如果你关闭了所有未使用的资源/流/等,那么你应该没问题。尝试增加对Java内存的限制 – nevets1219 2012-08-14 17:58:57
YOu应包含更多代码 – leonbloy 2012-08-14 18:00:05
我同意。你可能在未显示的代码中做错了事。 – 2012-08-14 18:10:23