0

画面共有プログラムを作っています。(クライアント)

悲しいことに、メモリ リークが発生していることがわかりました。

メモリリークをチェックするために、次のように単純化しました。

import java.awt.*;
import java.awt.image.BufferedImage;

public class Sharescreen {
    public Sharescreen() {
        try {
            Robot robot = new Robot();
            Rectangle winSize = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());

            while (true) {
                BufferedImage image = robot.createScreenCapture(winSize);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] argv) {
        new Sharescreen();
    }
}

走る :

java -Xms50m -Xmx100m -jar "share screen.jar"

しかし!!プログラムを実行してから 10 分後、

メモリ使用量: ここに画像の説明を入力

「ロボット」クラスに問題があるに違いない!!!

どうすれば修正できますか?

java(jdk) バージョン: openjdk 11.0

4

1 に答える 1