【发布时间】:2012-02-12 23:30:14
【问题描述】:
我有一个 WPF 应用程序。那有内存泄漏。我很难找到确切的原因。
尝试使用ANTS分析器,我发现最好的东西是
我有一个活动public event Action RegistryPropertyChanged
我的代码中有很多其他事件正在注册到该事件。
举例
preferences.RegistryPropertyChanged+= new Action (SetupToolTips);
而且有些人是这样注册的
preferences.RegistryPropertyChanged += OnMSChanged;
哪种方式更好,使用动态还是静态?有什么想法会导致泄漏吗?
在我尝试删除 RegistryPropertyChanged 使用的所有行之后,没有泄漏。所以所有这些事件都有问题,但我找不到确切的原因。任何想法和帮助表示赞赏。谢谢
【问题讨论】:
-
您认为什么是“内存泄漏”?该应用程序是否会导致您的系统出现内存问题?
-
事件处理程序是否被多次附加而不被分离?
-
说内存泄漏.. 我的意思是,如果我离开应用程序,几个小时后,内存将增长 20 MB。我有一些计时器,它们正在触发这些事件。 @Joey 我猜他们正在连接,没有分离。但是代码真的很大,不知道从哪里拆下来,是不是泄露的原因?
标签: c# .net wpf memory-leaks