Зачем использовать ObservableCollection.Clear (), но GC не работает - PullRequest
1 голос
/ 24 октября 2011

У меня есть ObservableCollection, которая связывается со списком в Pivot, когда я использовал метод Clear (). Кажется, GC не перерабатывать. Поэтому, когда я продолжаю очищать ObservableCollection, память продолжает увеличиваться. Кто-нибудь знает, почему это произошло?

1 Ответ

0 голосов
/ 05 декабря 2011

Сборка мусора на WP7 ведет себя не так, как другие сборщики мусора .Net.Он запрограммирован только на запуск, когда использование памяти превышает определенный уровень.

Кроме того, имейте в виду, что сборщик мусора изменился в Mango: в оригинальном WP7 сборщик мусора не принадлежал к поколению, в Mango - теперь к поколению.

Если вы в отчаяниичтобы очистить память, тогда GC.Collect () (Windows Phone 7) или GC.Collect (3) (только для Windows Phone 7 Mango)

будет тем, что вам нужно.Это приостановит работу приложения, поэтому имеет смысл сделать это там, где пользователь примет паузу - вероятно, сразу после изменения экранов или сохранения данных - подходящее время для этого.

...