为什么我的Silverlight应用程序使用了如此多的未管理内存?

Omi*_*eta 5 silverlight memory-leaks memory-management silverlight-4.0

我有一个相当简单的Silverlight应用程序,最近我们一直在使用该应用程序的用户报告在使用几个小时后崩溃(4+).我们开始深入研究应用程序,并注意到应用程序使用的未管理的内存部分启动非常高,并且继续未经检查.其他堆似乎管理得很好.我做了很多研究,甚至从我的应用程序中删除所有图像,并且未管理的内存继续增长.

到目前为止,我只是对我的应用程序中所有未管理的内存以及我能做些什么的确切消耗感到困惑.这是初始加载后我的应用程序的快照,因为您可以看到它已经使用了超过100MB的未管理内存空间.我只是在寻找任何有关未管理内存中的对象以及如何减少应用程序正在使用的未管理内存量的指导.谢谢!

蚂蚁记忆快照

我使用.NET Memory Profiler拍摄了另外一两张快照,看起来Kernel-HeapMemory是最大的块.不知道这有多大帮助,但我想我还是会发布它.

在此输入图像描述

Ken*_*ith 1

您是否尝试过Silverlight 的 CLR 分析器?我过去曾使用它来解决内存问题,并取得了一些成功。