При разработке приложения UWP я недавно обнаружил немало утечек памяти, которые не позволяли собирать мои страницы GC. У меня есть ContentPresenter на моей странице, например:
<ContentControl Grid.Column="0" Grid.Row="1" Content="{x:Bind ViewModel.Schedule, Mode=OneWay}">
</ContentControl>
После удаления содержимого или его замены динамической страницей {Binding} - страница собирается, когда я перехожу от нее. В противном случае он остается в памяти. Это ошибка, или я делаю что-то неправильно? Есть ли способ освободить и очистить ВСЕ привязки при навигации?
UPDATE: Кажется, это известная проблема внутри Microsoft, как было указано здесь. Но, насколько я могу видеть в своем собственном тесте/приложении, данные, которые сохраняются x: Bind, по-прежнему собираются через некоторое время, когда вы, например, переходите к тем же страницам или создаете те же элементы управления в течение некоторого времени, Я мог видеть, что новые объекты были созданы, но старые в какой-то момент собраны.
Таким образом, для меня это не является серьезной проблемой, вызывающей нехватку памяти, она не позволяет собирать объекты так быстро, как динамическое связывание.