最近在做一个基于WPF 4.0 的公司产品框架测试的时候,发现了一个非常奇怪的内存泄露问题。
基本现象是这样的,当我离开某一个页面的时候,发现内存不会被释放,这样来来往往几十次之后,发现程序会慢慢耗尽所有的内存。但是代码里面是有显式的释放所有的资源的,那这个问题就非常奇怪啦,难道是WPF 4.0里面缺陷,还是自己的代码内部有没有被发现的Bug。
下面是2次页面切换后的内存使用情况,应用程序在此过程中吃掉了150多M的内存空间。
没办法,只能求助于内存分析工具啦,在此推荐两个个人感觉比较好用的两个
我用的是ANTS Memory Profiler 7.4的试用版本,这个工具是redgate出的,大家应该不会陌生的(.net reflector发编译工具就是它出的)。最终发现原来和Automa