图片上传不上去。下面的代码是点击菜单栏,切换窗体。内存一直往上飙升??只有打开注释的才好点。做的东西模仿360的。 上面是菜单栏,下面是功能块。功能块来回切换。这种动态加载往主窗体panel中动态加载用户控件。感觉比较慢。有什么更好的解决方案。大侠指导一下啊感激不尽
private void toolBar1_SelectedIndexChanged(object sender, EventArgs e)
        {
            //if (this.panelCenter.Controls.Count > 0)
            //{
            //    this.panelCenter.Controls[0].Dispose();
            //}
            this.panelCenter.Controls.Clear();
            //GC.Collect();
            switch (this.toolBar1.SelectedIndex)
            {
                case 0:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.Dail.GetInstence());
                    break;
                case 1:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.Knowlege.GetInstence());
                    break;
                case 2:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.NetWork.GetInstence());
                    break;
                case 3:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.Messge.GetInstence());
                    break;
                case 4:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.Bussiness.GetInstence());
                    break;
                case 5:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.ProcessManage.GetInstence());
                    break;
                case 6:
                    this.panelCenter.Controls.Add(TK_BroadBandClient.UseControl.Tool.GetInstence());
                    break;
            }
        }

解决方案 »

  1.   

    dispose这个我觉得可以用
    gc据说是不到不得已不要手动调用
      

  2.   

    dispose还是有必要用的,否则处理的东西太多的时候内存占用非常大,直到处理结束
      

  3.   

    人家.net框架里凡是dispose调用的东西,在GC回收时(假设没有执行过dispose)都会自动执行一遍dispose。所以乱说什么“应该调用dispose”是没有意义的。只有你知道为什么必须提前调用dispose才应该调用它,否则只会让你的程序变得更慢。
      

  4.   

    事实上,你应该通过测试手段模拟高度并发和反复操作,来找出一些类似“事件溢出”之类的bug问题。但是当你似是而非地说什么“只有打开注释的才好点”的时候,我想你只想糊弄了就算了,技术上并不打算研究深入的什么东西。这个状态是很难沟通的,如果你的老板也喜欢这样“解决”问题,那么就整天等着出现奇迹吧。