我有与Java和Swing一些内存的问题。 我有一个JTextArea
(同样的问题,与JTextPane
),我用它来从C ++可执行文件将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行注释掉,少了很多(30MB用我所有的其他代码和UI)。 如何减少Java的内存使用情况? 目前使用的Java 7更新4。
提前致谢。