0

我有一个简单的应用程序,只有一个JTextArea和两个按钮。最初加载应用程序时,它使用了大约28MB的内存。当将字符串(具有阿拉伯字母,字符串长度 5000)设置为 JTextArea 时,它显示内存使用量为270MB并且没有释放(对于这个应用程序来说,我注意到 NetBeans 使用的少于那个)。我没有打开任何正在使用该内存的文件。可能的原因是什么以及如何减少内存使用量?

注意:内存使用来自任务管理器。

编辑:

public class FileReadTest extends JFrame {
    private JTextArea textArea;
    private Jbutton readButton;
    public FileReadTest() {
        initialize();
    }
 
    private void initialize() {
        setSize(300, 300);
        setTitle("File Reader Test");
        setLayout(new BorderLayout());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        textArea = new JTextArea();
        textArea.setFont(new Font("Times New Roman", Font.Plain, 18))
        JScrollPane scrollPane = new JScrollPane(textArea);
        readButton=new JButton("ReadFrom File");
        readButton.addActionListiner(new AvtionPerformed(ActionEvent ev) {
          FileReader reader=null;
          try {
            //
            // Read some text from file to display in
            // the JTextArea.
            //
            reader=new FileReader("myfile.txt");
            textArea.read(, null);
          } catch (IOException e) {
            e.printStackTrace();
          }
          finally {
            try{
              reader.close();
            }
            catch(Exception ex){}
          }
         }
        getContentPane().add(scrollPane, BorderLayout.CENTER);
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new FileReadTest().setVisible(true);
            }
        });
       }
    }

read如果我按下按钮或手动复制并粘贴文本,大小写相同。

4

0 回答 0