本帖最后由 oneiter 于 2010-07-06 16:12:08 编辑

解决方案 »

  1.   

    Remove应该不常用。可以考虑换成
    int layer = GC.GetGeneration(e.Control);
    GC.Collect(layer);试试吧。
      

  2.   

    根据wuyazhe的修改了,结果还是内存不断增长!!
      

  3.   

    flowLayoutPanel1.Controls.Clear();后面回收一次。貌似涨到6M就不涨了。然后很缓慢的变化。
    GC.Collect();
      

  4.   

    你看你实例化的对象中哪个有dispose方法,有的都调用一下。
      

  5.   

    这样调用呢?GC.Collect();
    GC.WaitForPendingFinalizers()
    GC.Collect();
      

  6.   

     PictureBox pic = new PictureBox();
    这个用完了 貌似没回收
      

  7.   


    调用这个方式 dispose了,但是感觉没有效果!
    private void flowLayoutPanel1_ControlRemoved(object sender, ControlEventArgs e)
      {
      e.Control.Dispose();
        
      }