job*_*obo 3 java swing document jtextarea
我在使用 Java 和 Swing 时遇到了一些内存问题。我有一个JTextArea(与 相同的问题JTextPane),用于从 C++ 可执行文件重定向标准输出。而且因为我输出了很多标准输出,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>
}
Run Code Online (Sandbox Code Playgroud)
以上代码占用100MB。注释掉 tag_memory 行后,少了很多(我的所有其他代码和 UI 为 30MB)。如何减少 Java 的内存使用量?当前使用 Java 7 更新 4。
提前致谢。
我只是不明白所有的记忆都去哪儿了。
PlainDocument讲述这个故事:每个代码点一个或两个 16 位代码单元、一张行开始图以及使其可编辑所需的所有障碍。对于只读查看,我会使用 redirection: yourprogram 2>&1 > view。在Java中,你可以从读stdin入List<String>,用一个String每行,并与查看JTable。默认渲染器非常高效。有一个相关的例子在这里。
| 归档时间: |
|
| 查看次数: |
1206 次 |
| 最近记录: |