成语大全网 - 汉语词典 - wpf 怎么释放资源

wpf 怎么释放资源

我程序也是内存一下几白M了。看了你这个以后实验了一下。还真是你说的原因。+=的事件会无效循环。我不是注销。而是只在程序一个地方生成事件。这样资源释放了。

你给了我很大启发。为了后来人看懂。我贴点代码吧

我的f里面自定义了一个事件。然后再其他地方生成的时候控件的事件+=。但是我的TreeView一刷新。我吧TreeView的ITEM CLEAR掉。然后重新加TreeViewItem对象(通过GetreeView方法)。这样当TreeView刷新几次以后。内存就上到几白M了。我看了楼上那个提示以后才发现是因为程序在GetreeView里面 += 注册事件 这个里面 无限循环出来事件。

private TreeViewItem GetreeView(obj f)

{ f.UserStatuChange+= 注册事件

}

最后解决方法:

程序启动的时候 f.UserStatuChange+= 注册事件。 然后再GetreeView这个方法里面去掉 上面这代代码。

这样程序只有在一个地方注册了 f.UserStatuChange+=事件。 事件不会无限循环。