MVVM Prism을 사용하여 작성된 WPF 응용 프로그램이 있습니다. 그것은 많은 탭이 있습니다. 이러한 탭은 각각 약 2..3 MB의 메모리를 사용합니다. 클라이언트는 수십 개의 탭을 열고 닫은 후에 처음부터했던 것보다 훨씬 많은 메모리를 사용한다는 불평을합니다. 또한 새 탭을 열면 더 많은 메모리가 필요하므로 응용 프로그램에서 이전 탭을 사용하지 않고 대신 새 탭을 만듭니다.WPQ에서 메모리 누수가 발생했습니다. MVVM Prism 앱
분명히 오래된 탭은 가비지 수집되지 않습니다. 분명히 그들을 가리키는 몇 가지 링크가 있기 때문에.
어떻게하면 어떤 방법으로 가비지 수집합니까? 내가 IDisposable을 구현하고 가능한 모든 참조를 제거해야합니까? 그리고 Dispose 메서드가 소멸자에서도 호출되는지 확인하십시오. 불필요한 참조를 모두 제거 할 수 있는지 확신 할 수 없습니다.
아마도이 문제를 해결하는 데 사용할 수있는 유용한 도구가 있습니까?
진실하지 않을 수 있습니다 예를 들어, 내 폐기에 우리는 같은 것을했다. GC가 가비지 수집과 같은 느낌이 들지 않으면 참조가 없어도 메모리에 남아 있습니다. – stijn
@stijn GC.Collect라고 불렀지 만 여전히 메모리에 머물러 있습니다. –