为什么winfrom做的项目 占有内存太大 在线等 急。 为什么我的项目刚刚启动就占用内存为38M 而且我在点击的时候 他还在加 昨天在测试 加到了 100多M 这是什么原因。。 请高手帮忙。在线等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编程习惯问题,虽然.net宣传托管内存不需要考虑内存释放问题,但我还是认为应该用完就立即释放,我的习惯是分配内存代码try{ 操作内存代码}catch(exception ex){ 异常代码}finally{ 释放内存代码} 忘记回答主要问题了 找个CLR Profiler 工具跟踪一下,看那个对象占用内存过大用aqtime 也可以 也许你可以使用 垃圾回收机制来释放资源啊, 虽然说开发工具会 重写dispose() 方法来释放所有可能资源 但是像字段之类的可能需要自己去释放 所以你可以使用析构函数去把所有的字段释放 就是程序在初期就要设计好,不要搞成一个.exe文件,那样程序一启动就会加载所有的东西到内存,当然占很大内存了; 不是用的资源随时要Dispose,比如一个方法里面调用了一个非托管的实例,构造的时候就要加usingclass A:IDispose是一个非托管的资源,方法体内,A的对象是一个局部变量,就需要写成using(A a = new A()){ .......}如果A的对象是全局变量,就应该最后的Dispose时调用a.Dispose() 不要只考虑内存资源,CPU资源也直接影响程序性能。频繁释放内存可以节省内存资源,但却造成了CPU资源的浪费,某些时候反而会降低性能。.Net托管内存,是根据类的调用情况、内存的紧张程度、CPU的空闲程度综合判断什么时候释放内存。除非你非常了解自己的程序和程序运行的环境,否则不要去打乱.Net的垃圾回收过程。 求大神帮忙解决日期控件问题 测试多台服务器之间的连接状态 if else 问题 VS2008 如何在一个项目下不同工作之间设置依赖编译关系 求一正则表达式,很急,在线等 为什么我用HttpWebResponse不能获取页面返回的COOKIES 请问 VS03和05的不同 05中datagridview不包含SetDataBinding 要用什么代替 关于c#遍历节点时定位某一节点的问题 用户代码未处理sqlException TextBox中回车换行符是什么?? datagridview 单元格联动 关于vs2005打包的问题
我的习惯是
分配内存代码
try
{
操作内存代码
}catch(exception ex)
{
异常代码
}
finally
{
释放内存代码
}
找个CLR Profiler 工具跟踪一下,看那个对象占用内存过大
用aqtime 也可以
虽然说开发工具会 重写dispose() 方法来释放所有可能资源
但是像字段之类的可能需要自己去释放
所以你可以使用析构函数去把所有的字段释放
{
.......
}如果A的对象是全局变量,就应该最后的Dispose时调用a.Dispose()
频繁释放内存可以节省内存资源,但却造成了CPU资源的浪费,某些时候反而会降低性能。
.Net托管内存,是根据类的调用情况、内存的紧张程度、CPU的空闲程度综合判断什么时候释放内存。除非你非常了解自己的程序和程序运行的环境,否则不要去打乱.Net的垃圾回收过程。