您好我正在创建一个远程控制软件,当我使用Robot.createscreencapture时,我得到了非常快的内存错误,这是我发现截取soo的唯一方法是有一种方法可以清理创建screencapture创建的内存?每次我在1秒后创建一个屏幕截图,它会发送一个新屏幕截图,但是如果它表示outofmemory这意味着它存储了所有屏幕截图进入内存? soo有没有办法解决这个问题呢?我确实增加了最大内存,但它仍然给出了内存错误。
这是代码片段:
BufferedImage image = clientrobot.createScreenCapture(robotrectangle);
它说这行是错误:java.lang.OutOfMemoryError: Java heap space
at sun.awt.windows.WRobotPeer.getRGBPixels(Unknown Source)
at java.awt.Robot.createScreenCapture(Unknown Source)
at application.MainController$2.run(MainController.java:186)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)
但是,一旦它也说:ImageIO.write(图像," jpg",bos)是错误,但它只发生过一次。那我怎么能阻止屏幕截图吃内存?
这是错误日志:
var language = (window.navigator.userLanguage || window.navigator.language).split("-")[0];
window.location.href = language + ".example.com";
感谢。