[c#] C # / XNA Гигантский утечка памяти


Answers

В C # нет утечек памяти (или их очень сложно получить). То, что вы испытываете, является нормальным. Сборщик мусора не «чувствует», как будто ему нужно собирать память, поэтому нет. Всякий раз, когда память заканчивается, происходит сбор мусора. Если вы абсолютно уверены, что не сохраняете ненужных ссылок на свою string s, тогда все в порядке.

Если вы хотите принудительно использовать цикл GC, используйте GC.Collect() .

Question

это мой первый пост здесь. Я делаю игру в Visual Studio 2010 с помощью XNA, и я ударил гигантскую утечку памяти. Моя игра начинается с 17k RAM, а затем через десять минут это до 65 тысяч. Я запустил некоторые профилировщики памяти, и все они говорят, что создаются новые экземпляры объекта String, но они не являются живыми. Количество живых экземпляров String не изменилось вообще. Он также создает экземпляры Char [] (которые я ожидаю от него), Object [] и StringBuilder. Моя игра довольно новая, но здесь слишком много кода для публикации. Я не знаю, как избавиться от случаев, которые не живут, пожалуйста, помогите!






Links