比如一个很占内在的程序,在任务管理器里强制结束进程,那么它使用的内存操作系统是否回收?我看以前的资料好像是不会回收的,如果不回收那么反复多次,系统内存就被占用完了

解决方案 »

  1.   

     Environment.Exit(0)
    强制结束进程。
    进程的内存回收是由操作系统完成的,这个你就不用担心了。
    欲知详情,请研究windows消息循环。
      

  2.   

    正如2楼所说的,COM对象需要手动释放内存,不能指望系统随时回收。如果在程序中加载了图片,使用后也要手动及时释放,不要以为函数退出后framework会主动回收,有些系统错误就是由于有些人认为.net回收机制是万能的所造成的,楼主谨记
      

  3.   

    运行这个程序之前要慎重考虑,因为关闭程序的方式是强制关闭。 进程可在资源管理器中查到(不要后面的.exe,只写前面的名)string in_sAppName = "WINWORD";    //(一个word文档程序)try{   System.Diagnostics.Process[] psiNewcas =   System.Diagnostics.Process.GetProcessesByName(in_sAppName);    foreach (System.Diagnostics.Process p in psiNewcas)   {      p.Kill();      p.WaitForExit();      p.Close();      Console.WriteLine(in_sAppName + "已经停止了");    }}catch {    Console.WriteLine(in_sAppName + "停止失败");}
    进程的内存回收是由操作系统完成的。
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hejialin666/archive/2008/08/27/2838975.aspx