目前,我必须修复泄漏大量内存的现有 Silverlight 应用程序。使用Redgate 的 ANT 分析器,我设法检测到可能存在的问题。其中之一是一个包含 Web 服务的静态类,它包含两个事件处理程序以支持异步计算。
你已经猜到了……很多对象都为这个处理程序分配了一个事件,但大多数都不会再次释放它。结果,这些对象与这些静态事件相关联,因此几乎从未释放......
我需要一个简单的修复来解决这个问题。那么,我必须有哪些可能的选择来修复此内存泄漏,而这些更改不会产生很大影响?
使事件处理程序非静态将导致巨大的变化,因此是不受欢迎的动作......