从动画开始到动画结束内存从110M能涨到390M。因为图片是透明的png图片,有些图片就 几K,但有些图片差不多要50K。没改一次都涨好几兆。

解决方案 »

  1.   

    是不是还没有到释放memory的时机呢。看看下面的讨论
    still memory-leaks in .net4 - binding memory BitmapImage to Image-Source  (这里面说550M时会开始释放)
    http://stackoverflow.com/questions/9175755/still-memory-leaks-in-net4-binding-memory-bitmapimage-to-image-sourceWPF BitmapImage Memory
    http://www.codeproject.com/Questions/477308/WPFplusBitmapImageplusMemory
      

  2.   

    刚才还看了下msdn, BitmapImage没有实现IDisposable接口。
      

  3.   

    不要看到内存涨了,就说内存泄露
    关键是什么时候涨的,涨了还会不会降回去你连续定义double[] d=new double[20000000];内存一样会暴涨的
      

  4.   


    从动画开始到动画结束内存从110M能涨到390M。因为图片是透明的png图片,有些图片就 几K,但有些图片差不多要50K。没改一次都涨好几兆。不会回来啊,除非重启客户端。经过测试发现上述代码 里        this.Source = _listOfImageSource[_currentIamgeIndex];    是出现问题的地方,如果我让图片一直保持第一帧,似乎内存就不会暴增,但一旦改成变化的,内存就噌噌的网上增,即使动画结束也依然保持,
      

  5.   

    我用的是.net 4.0, VS2010, 我写了类似于楼主的代码,并没有出现内存暴涨的情况。不如楼主把代码择出来,弄成一个可以重现的小程序,发上来。大家也好拿回去试试。