Java 및 Swing에 메모리 문제가 있습니다. 나는 (JTextPane
과 동일한 문제)을 사용하여 C++ 실행 파일에서 stdout을 리디렉션합니다. 그리고 나는 많은 표준 출력을 출력하기 때문에 JTextPane
은 많은 공간을 소비합니다. 어쨌든, 나는 자바로 다음 코드를 작성했다.JTextArea가 많은 메모리를 사용합니다.
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를 사용 중입니다.
미리 감사드립니다.
네,'JTextArea'도 많은 기능을 가지고 있습니다. 일부는 필요하지 않을 수도 있습니다. 실제 요구 사항은 무엇입니까? – trashgod
저는 주로 내 C++ 프로그램에서 stdout (및 stderr)을 보여주고 싶습니다. 나는 모든 기억이 어디로 가고 있는지 이해하지 못한다. – jobobo