我提出了一個新問題,因爲這與我的最後一個線程不同。我現在知道這個問題更準確。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