JavaとSwingでメモリの問題が発生しています。C ++実行可能ファイルからstdoutをリダイレクトするために使用する(JTextArea
と同じ問題)があります。JTextPane
そして、私は多くのstdoutを出力しているのでJTextPane
、多くのスペースを消費しています。いずれにせよ、私はそれをすべてJavaで次のコードに要約しました。
private javax.swing.JTextArea jtextareastdout;
....
for (int i = 0; i < 200000; i++) {
String randomstr = UUID.randomUUID().toString();
jtextareastdout.setText(randomstr); //<tag_memory>
if (i % 100 == 0)
System.gc(); //<tag_no_help>
}
上記のコードは100MBを消費します。tag_memory行がコメントアウトされているので、はるかに少なくなります(他のすべてのコードとUIで30MB)。Javaのメモリ使用量を減らすにはどうすればよいですか?現在、Java 7update4を使用しています。
前もって感謝します。