如何在关闭表单上释放Silverlight Controls使用的内存

时间:2014-09-05 18:48:54

标签: silverlight memory-management

我有一个silverlight应用程序,当打开一个表单时,它使用了近17mb,但是当我关闭表单时,它释放任何内存。我正在处理所有的变量和对象,但GC没有发布任何东西。关闭表单时,我还在运行时删除了所有控件。 当我用ANTS Memory Profiler验证时。它显示为NativeObjectSafeHandle 196440,其中最大的一个可以处理,第二大是UnmanagedMemoryStream。

在内存分析器中,它显示了很多silverlight内部引用,我无法像样式,system.windows.controls和资源那样处理它们。即使iam清除form.resources.clear()。

请建议我释放记忆。

由于 克里希纳

1 个答案:

答案 0 :(得分:0)

最佳做法是在大多数情况下不强制进行垃圾收集。因为CLR知道处理它的最佳方法。但是,如果你真的想强制垃圾收集尝试GC.Collect这将迫使所有世代立即垃圾收集

http://msdn.microsoft.com/en-us/library/xe0c2357(v=vs.110).aspx

另请参阅我在评论中提供的链接以获得更好的解释。