不要显示调用垃圾回收Collect,尽管对0代垃圾回收速度比较快,但是这么做会干扰垃圾回收算法,通常会恶化应用程序内存使用。

解决方案 »

  1.   

    如果需要,可以调用对象的Dispose或者Close方法。
      

  2.   

    1、不要干扰 GC,楼上兄弟已经说了;
    2、for 循环中,尽量少申明变量。移到外面
    DataTable cloneTable;
    foreach (String str in list)         // list里面可能会有200多个String,循环200多次
            {
             ///...
             ///...
                loneTable = editTable.Clone();
                dst.Tables[0].Merge(
                do_EditW_YW017(cloneTable), true, MissingSchemaAction.Add
                );// 合并返回的数据集
                cloneTable = null;        }
    3、既然是循环 string为什么不用 string[] 呢?
    4、看你的两短代码循环次数不多,应该慢步到哪里去。自己优化调试一下,看看具体的瓶颈在哪儿?优化不是一下子就ok的。好好找找。