이것은 이상한 것입니다. 일종의 게임 인 앱을 만들고 있는데 별똥별을 일으키고 싶었습니다. 어느 날 저녁에 만들었고 브라우저가 300 메가 이상의 램을 먹고 5 초마다 1 메가를 먹는 것을 보았을 때까지 모든 것이 잘 돌아갔습니다. 주로 스타 버스트가 발생할 때가있었습니다. http://www.sizzln.com/example.htm브라우저에서만 발생하는 Silverlight 메모리 누수를 추적하려고 시도합니다.
먼저 생각 나는 개체를 제거하거나 아직 어딘가에 참조를 가지고 있지 않다 : 여기
은 항성에 벗었 예입니다. 생성 된 각 별을 캔버스에 넣을 예정이지만 3 초마다 이전 시작을 제거합니다. DoubleAnimations도 많이 있지만 콜백을 사용하여 모든 항목을 null로 설정할 수도 있습니다.여기 WPF로 변환하면 이상한 부분이 있습니다. Silverlight Spy 3에서 실행하면 이 발생합니다.이 발생합니다. WinDbg 및 SOS.dll을 사용하여 힙 덤프를 가져 가면 1.8 - 3MB의 RAM 만 사용해야한다고보고합니다.
GC를 3 초마다 실행하여 정리했지만 아무런 효과가 없습니다. heapdump에서 많은 객체가 삭제 된 것을 볼 수 있습니다. GC 후 1.8 메가 정도로 돌아 왔지만 작업 관리자에 표시된 메모리는 계속 올라갑니다.
무엇을 해야할지 모르겠다. 힙이 정직하지 않은 한 조심스럽게 객체를 제거하고 있다고 생각한다.
다음은 출처입니다. http://www.sizzln.com/example.zip 위의 내용을 새 것으로 추가 할 수 없습니다. ( –
어떤 OS를 사용하고 있습니까? 작업 관리자는 XP와 매우 다릅니다. Vista 7에서 우승 –
Windows 7 64 비트에서 실행 중 –