你的位置:首页 > 软件开发 > ASP.net > WPF 内存泄漏优化经历

WPF 内存泄漏优化经历

发布时间:2018-10-25 01:01:02
最近公司有个CS客户端程序,有个登录界面,有个程序的主界面,程序支持注销功能,但是在注销后,客户端的内存一直以40M-50M的速度递增,因此猜测,应该是WPF程序出现了内存泄漏。下面主要记录优化内存泄漏的整个历程:1.使用VS2013的性能和诊断找到问题点在VS2013菜单分析- ...

最近公司有个CS客户端程序,有个登录界面,有个程序的主界面,程序支持注销功能,但是在注销后,客户端的内存一直以40M-50M的速度递增,因此猜测,应该是WPF程序出现了内存泄漏。下面主要记录优化内存泄漏的整个历程:

1.使用VS2013的性能和诊断找到问题点

在VS2013菜单分析-》性能和诊断,打开的界面如下,并勾选内存使用率选项。

WPF 内存泄漏优化经历

单击开始,启动程序,界面如下所示:

WPF 内存泄漏优化经历

 

登录后,等待程序资源全部获取后,单击VS2013中拍摄快照

WPF 内存泄漏优化经历

注销后,再次单击拍摄快照按钮

WPF 内存泄漏优化经历

重复上述两个步骤若干次后,关闭软件,内存分析工具会自动进行分析,分析后的结果如下图所示:

WPF 内存泄漏优化经历

选择快照报告数据查看依据,托管堆和堆,我写的程序中是在堆中发现快照2比快照会有40多M内存的上升,上面的图片是优化后的。点击上升的内存,可以进入快照1和快照2内存的对比的表格:

WPF 内存泄漏优化经历

 

从这个前后内存的对比中,找到是由于主界面的在注销时关闭,再次登录后,主界面重新创建显示,里面ocx的内存发生泄漏。

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:WPF 内存泄漏优化经历

关键词:wpf

wpf
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。