C#释放内存空间的问题~急急急 本帖最后由 lxcnn 于 2008-10-10 19:14:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在内存分配的函数内调用是不会回收的,因为引用这些内存的变量还没有出Scope. 那你把 byte[] buffer1 = new byte[512]; 提出来试试我觉得应该不是这里的问题 楼主可用 buffer1=null;一试, 如果内存没有减少,则可能是 " CS_GetIDCardInfo(buffer1, 512); //调用动态库,填充buffer1 " 函数内部有问题,可注释掉试试; 否则是应用该函数的窗体,在关闭时没有释放内存空间;如: Form1 frm1 = new Form1(); frm1.ShowDialog(); //加上如下语句 frm1.Close(); frm1.Dispose(); frm1 = null; *****************************************************************************欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/ 根据楼主的反映,每次增加100k,应不是buffer1 没有释放的问题,应是象窗体这样的大家伙没有释放的问题; 问题应该不是回收不及时造成的。首先你得检查你得异步操作。如果你调用了BeginXXX,并且传递了一个准备带出值地object,之后永远没有EndXXX. 那这个object就被定在了内存里。GC不可以回收它,因为底层的操作还期待着把数据写入这个地址去。比如Socket的,BeginRead,BeginSend等就是这样的。 当然了,如果你有一个session或容器,并且不断的加入新的object。那内存的增长是对的,不属于内存泄漏。 还有就是用任务管理器来监测内存泄漏的不是什么好办法。你可以试试SOS。 结贴 估计是DLL的问题~~·郁闷! 求救,Keyset does not exist 导致IIS挂掉了 各位大神,还能这个东东怎么做的啊? 关于CodeDom生成方法时,方法的参数是按引用传递的 即ref,该如何声明! EXCEL插件没有加载 MDI窗体的问题:父窗体的菜单中的功能是生成子窗体;子窗体的树形菜单也是生成一些父窗体的子窗体。请问怎么直接调用父窗体的菜单功能? C#关于类成员变量赋值问题 如何把格式化double 急:关于循环为控件赋值,在线等 发了一个关于HTTPModule的问题没人理,再发一次! C#通过服务程序拷贝文件 datagrid动态列名显示问题 解析html时如何解决容错问题?
我觉得应该不是这里的问题
buffer1=null;一试,
如果内存没有减少,则可能是 " CS_GetIDCardInfo(buffer1, 512); //调用动态库,填充buffer1 "
函数内部有问题,可注释掉试试;
否则是应用该函数的窗体,在关闭时没有释放内存空间;如:
Form1 frm1 = new Form1();
frm1.ShowDialog();
//加上如下语句
frm1.Close();
frm1.Dispose();
frm1 = null;
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
应不是buffer1 没有释放的问题,应是象窗体这样的大家伙没有释放的问题;
首先你得检查你得异步操作。如果你调用了BeginXXX,并且传递了一个准备带出值地object,之后永远没有EndXXX.
那这个object就被定在了内存里。GC不可以回收它,因为底层的操作还期待着把数据写入这个地址去。
比如Socket的,BeginRead,BeginSend等就是这样的。
不属于内存泄漏。