JavaFX Robot.createscreencapture吃内存

时间:2015-12-23 21:21:21

标签: java javafx out-of-memory screenshot awtrobot

您好我正在创建一个远程控制软件,当我使用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";

感谢。

0 个答案:

没有答案