【发布时间】:2015-12-18 14:30:11
【问题描述】:
我正在开发一个 Outlook 插件。我在 Outlook 工具栏中添加了一个按钮,当用户单击该按钮时,将调用一个 web 服务。根据该 web 服务的结果,一个用户控件被加载到自定义任务窗格中。当一个用户关闭自定义任务窗格,我在用户控件上调用了dispose方法。我还在其dispose事件中释放了这个用户控件的子控件,并从customtaskpanes列表中删除了自定义任务窗格。但是内存没有释放。我还处理了自定义任务窗格。但是什么也没发生。那么,这是我的编码问题,还是 Outlook 的问题?我正在使用 .net 框架 3.5 上的 winforms。每当我使用 Outlook 占用的内存时,它都会不断增加按下按钮。
【问题讨论】:
-
您是否使用内存分析器检查过您的应用程序?这会让您知道哪些对象没有从内存中释放,并且是您找出问题的真正原因的最佳选择。
-
我知道用户控件没有被释放
-
您点击按钮的时间是多少?也许垃圾收集器还没有决定收集内存。
-
我点击了很多次。很多次导致outlook崩溃。它在没有释放它的情况下占用了接近1 GB的内存。
标签: c# winforms memory-leaks vsto outlook-addin