Это странный вариант. Я делаю приложение, которое является своего рода игрой, и я хотел иметь эффект выстрела. Я сделал это однажды вечером, и все это сработало хорошо, пока я не заметил, что мой браузер ел более 300 мегабайт барана, едя 1 мегаграмм каждые 5 секунд, в основном, когда произошла звездообразование.Попытка отследить утечку памяти Silverlight, которая происходит только в браузерах
Вот пример раздели вниз только в звездообразования: http://www.sizzln.com/example.htm
Первая мысль, я не удаляя объекты или все еще есть ссылки где-то. Я помещаю каждую созданную звезду в холст, но я удаляю старые старты каждые 3 секунды. У меня также много DoubleAnimations, но у меня даже есть обратный вызов, чтобы установить все в null.
Вот странная часть, если я конвертирую ее в WPF, это не произойдет, если я запустил ее внутри Silverlight Spy 3, это произошло. Если я беру кучу кучи с помощью WinDbg и SOS.dll, он сообщает, что он должен использовать только от 1,8 до 3 МБ оперативной памяти.
У меня есть GC, работающий каждые 3 секунды для очистки, но это никогда не имеет никакого эффекта. Я вижу в heapdump, что многие объекты теперь удалены, и я всегда возвращаюсь к 1,8 мегабайтам или около того после GC, но память, отображаемая в диспетчере задач, просто продолжает расти.
Я не знаю, что делать, я думаю, что я тщательно удаляю объекты, если моя куча не является честной.
Вот источник: http://www.sizzln.com/example.zip Это Wouldnt позвольте мне добавить его выше, к новым :( –
Какой ОС вы используете Task Manager очень отличается от XP до Vista для Win 7 –
Я бегу на Windows 7 64bit. –