wpf 内存 我使用wpf写了一个应用程序,有时候会出现内存急剧增加至1G内存,有时候又不会,我想问一下这是不是内存泄露,还是有别的原因。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是.net不存在内存泄露的问题 很有可能是内存泄露,.Net会造成内存泄露。对于在.Net中使用非托管资源要记得及时释放,如果不释放又丢失了对其的引用,就造成内存泄漏,在哪里释放倒不是问题,最好用完就释放。不一定要在用它的类里面释放,在外面也可以释放对于托管资源,.Net的垃圾回收在CLR认为到了应该回收垃圾的时候才进行回收,所以对于托管资源最好的建议也是用完后马上进行垃圾会后。比如使用数据库连接,很多新手会:SqlConnection conn=.............但是一个好的建议是使用using{}块来进行数据访问如:using(SqlConnection conn=............){}来进行数据访问以使资源会被及时回收。造成内存泄露的原因很多,大多是编码问题。自己好好检查一下代码再看看百度LZ应该能自己搞定呵呵 如果调用了非托管资源,自然存在泄露的可能。至于您在此之后说的,我不认为应该称作“内存泄露”。至于“建议也是用完后马上进行垃圾会后。”我认为用Dispose是可行的,主动释放引用。而GC ..::.Collect 方法 强制进行垃圾回收。传说中,和我的经验来看,它的效果不怎么样。 请问一下什么情况下是使用非托管资源了?问题补充:还有我的程序是一些播放视频、MP3和进行录音的过程。在这个过程中有时会出现我提出的问题。我用ANTS memory profile 查看时 发现 一个byte[]类占用了大量的内存。 WPF 存在严重的内存泄露问题!请参考:http://blogs.msdn.com/b/jgoldb/archive/2008/02/04/finding-memory-leaks-in-wpf-based-applications.aspx iframe空引用 请问怎么获取到屏幕的分辨率啊? C# 打印FORM问题 VB代码如何转换C#代码!?可以转吗? 谁帮我看看 【编码续】 www_123du_com请进! 寻求将TGA转换为JPG或者GIF格式的C#代码 新手上路 主键何处寻? zedgraph控件滚动条自动滚动 关于枚举的一个问题 怎么使datagridview可见行填充整个datagridview
.net不存在内存泄露的问题
很有可能是内存泄露,.Net会造成内存泄露。对于在.Net中使用非托管资源要记得及时释放,如果不释放又丢失了对其的引用,就造成内存泄漏,在哪里释放倒不是问题,最好用完就释放。不一定要在用它的类里面释放,在外面也可以释放对于托管资源,.Net的垃圾回收在CLR认为到了应该回收垃圾的时候才进行回收,所以对于托管资源最好的建议也是用完后马上进行垃圾会后。
比如使用数据库连接,很多新手会:
SqlConnection conn=.............
但是一个好的建议是使用using{}块来进行数据访问如:
using(SqlConnection conn=............){}
来进行数据访问以使资源会被及时回收。
造成内存泄露的原因很多,大多是编码问题。自己好好检查一下代码再看看百度LZ应该能自己搞定呵呵
至于“建议也是用完后马上进行垃圾会后。”
我认为用Dispose是可行的,主动释放引用。
而
GC ..::.Collect 方法
强制进行垃圾回收。
传说中,和我的经验来看,它的效果不怎么样。
问题补充:
还有我的程序是一些播放视频、MP3和进行录音的过程。在这个过程中有时会出现我提出的问题。
我用ANTS memory profile 查看时 发现 一个byte[]类占用了大量的内存。
http://blogs.msdn.com/b/jgoldb/archive/2008/02/04/finding-memory-leaks-in-wpf-based-applications.aspx