私たちは学校の割り当てのために2Dのトップダウンシューティングゲームを作っています。しかし、我々は解決できない問題に直面した。我々は選手を受け取り、それらをすべてレンダリングしたい。与えられたコードにコメントを付けると、遅れはなくなり、RAMの使用は安定しています。しかし、私たちが部品を残しておくと、ラムは毎秒50MBで増えます。Java LibGDXメモリリーク
このコードではエラーが見つかりません。ご存じの場合はお知らせください。 さらに詳しい情報が必要な場合は、すぐに私に連絡してください。
List<SimplePlayer> localMultiplayers = new ArrayList(this.multiplayers);
this.multiplayers.clear();
for (SimplePlayer splayer : localMultiplayers) {
try {
Player p = new Player(splayer, this);
batch.setProjectionMatrix(game.camera.combined);
batch.begin();
p.render(batch);
this.fontwhite.draw(batch, splayer.getName(), splayer.getX(), splayer.getY() + 76);
this.fontred.draw(batch, Integer.toString(splayer.getHitPoints()), splayer.getX() + 12, splayer.getY() + 64);
batch.end();
} catch (Exception ex) {
Logger.getLogger(GameScreen.class.getName()).log(Level.SEVERE, null, ex);
}
}
編集:このコードは私たちのGameScreen.render()にありますが、これが問題であるかどうかはわかりません。
プレイヤーが1人の場合はどうなりますか?それは問題があるかどうかをあなたに伝えることができます。プレイヤークラスと、おそらく新しいプレイヤーを担当するコードを配列リストに追加してください。 – eldo