当我使用方法Clear()时,我有一个ObservableCollection绑定到Pivot中的列表框。似乎GC没有回收。因此,当我保持清除ObservableCollection时,内存保持不变。有人知道为什么会这样吗?
答案 0 :(得分:0)
WP7上的垃圾收集与其他.Net垃圾收集器的行为不同。它被编程为仅在内存使用超过特定级别时运行。
另外,请记住,Mango中的垃圾收集器已经改变:在最初的WP7中,垃圾收集器是非代数的,在芒果中它现在是世代的。
如果你急于清理内存,那么GC.Collect()(Windows Phone 7) 或GC.Collect(3)(仅限Windows Phone 7 Mango)
将是你所追求的。执行此操作将暂停应用程序,因此在用户接受暂停的情况下执行此操作是有意义的 - 可能只是在您更改屏幕或保存数据之后,这是执行此操作的好时机。