问题描述
使用Image控件和button控件,每次按一下button载入一张新图片,就是不断修改Image控件的source。但是程序占的内存越来越多,似乎Image控件显示之前的图片所占的资源并没有被释放掉。类似的问题也在这里http://zhidao.baidu.com/link?url=DDjQpz5Un0IXGeF34N2LBWv10L7f1z5hpOdX980_LtPSZk6eCovyD3ZqXQL7Fkl8L5Ve2DDVaAmcyyEB-OKWjq
解决方案
解决方案二:
参见:
解决方案三:
引用楼主chasel_的回复:
使用Image控件和button控件,每次按一下button载入一张新图片,就是不断修改Image控件的source。但是程序占的内存越来越多,似乎Image控件显示之前的图片所占的资源并没有被释放掉。
一个对像有没有被释放,你可以使用“弱引用”技术来测试。不要靠瞎猜,应该写测试程序。贴出你的测试程序来证明你的说法!
解决方案四:
引用2楼sp1234的回复:
Quote: 引用楼主chasel_的回复:
使用Image控件和button控件,每次按一下button载入一张新图片,就是不断修改Image控件的source。但是程序占的内存越来越多,似乎Image控件显示之前的图片所占的资源并没有被释放掉。一个对像有没有被释放,你可以使用“弱引用”技术来测试。不要靠瞎猜,应该写测试程序。贴出你的测试程序来证明你的说法!
请问大神,如何写测试程序,或者给指条路我去自学,这个一看到XX测试XX测试就很蛋疼,一直想学就是不知道如何去学习,求指点
解决方案五:
改用Binding和INotifyPropertyChanged<ImageSource="{Bindingimg}"></Image>
classTestImage:INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropertyChanged;publicstringName{//当点击按钮的时候就在这里更改image的source}
解决方案六:
写错了,改一下classTestImage:INotifyPropertyChanged{publiceventPropertyChangedEventHandlerPropertyChanged;publicBitmapImageimg{//当点击按钮的时候就在这里更改image的source}}