在网上看了JMF框架的例子程序的源码,都是使用 System.exit(0) 方式退出程序的,我测试了一下,如果去掉 System.exit(0) 系统中会驻留一个javaw的进程,如果累积起来内存会溢出的。
大家有什么解决方法啊。

解决方案 »

  1.   

    比如          dsink.addDataSinkListener(this);
    fileDone = false; System.err.println("- Start cutting..."); // OK, we can now start the actual concatenation.
    try {
    pds.start();
        dsink.start();
    } catch (IOException e) {
        System.err.println("IO error during concatenation");
        return false;
    } // Wait for EndOfStream event.
    waitForFileDone(); // Cleanup.
    try {
        dsink.close();
    } catch (Exception e) {}
     
    pds.close();
    p.close();
           System.exit(0); 例子程序中都是这样结束程序的。
      

  2.   

    如果使用 System.exit(0) 就会终止程序的运行,退出JVM了。下面的程序就无法运行了。
      

  3.   

    如果你有其他的模块要运行的话,在你退出的时候将不使用的模块进行销毁
    譬如说你创建的一个JFrame不需要使用了,那你就将其组建上的所有事件面板进行移出销毁,再进行隐藏JFrame
    这样控制好的话是不会出现内存溢出的情况