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