Java寫入ByteArrayOutputStream內存泄漏


我正在將圖像字節寫入ByteArrayOutputStream,然后通過套接字發送它。 問題是,當我這樣做時

ImageIO.write(image, "gif", byteArray);

內存非常多,有點內存泄漏。

我使用此

發送

ImageIO.write(image, "gif", byteArrayO);         
byte [] byteArray = byteArrayO.toByteArray();
byteArrayO.flush();
byteArrayO.reset();
Connection.pw.println("" + byteArray.length);
int old = Connection.client.getSendBufferSize();
Connection.client.setSendBufferSize(byteArray.length);
Connection.client.getOutputStream().write(byteArray, 0, byteArray.length);
Connection.client.getOutputStream().flush();
image.flush();
image = null;
byteArrayO = null;
byteArray = null;
System.gc();
Connection.client.setSendBufferSize(old);

正如您所看到的,我已經嘗試過所有方法,當我寫入ByteArrayOutputStream時,錯誤就出現了,而不是在我轉移它時。接收方沒有任何錯誤。

 https://www.thinbug.com/q/11970742


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM