MVVM应该用于WinForms吗?如果是这样,使用MVP的优势是什么?
我有一个有儿童形式的MDI.子表单中包含DataGridView.我在datagrid视图中加载了大量数据.当我关闭子窗体时,调用处理方法,我在其中处理datagridview
this.dataGrid.Dispose();
this.dataGrid = null;
Run Code Online (Sandbox Code Playgroud)
当我关闭表格时,内存不会下降.我使用.NET内存分析器来跟踪内存使用情况.我看到当我最初加载数据网格时(如预期的那样)内存使用量很高,然后在加载完成时变为常量.
当我关闭表格时,它仍然保持不变.但是,当我使用内存分析器拍摄内存快照时,它会降低到加载文件之前的状态.获取内存快照会导致它强制运行垃圾收集器.
到底是怎么回事?有内存泄漏吗?或者我是否需要强行运行垃圾收集器?
更多信息:
当我关闭表单时,我不再需要这些信息.这就是我没有提到数据的原因.
更新
我需要一次加载所有数据.当有大量数据时,内存使用率非常高,所以我想知道我是否做错了什么并且垃圾收集器没有运行但另一方面当我查看分析器时它确实显示当它需要时快照内存使用量减少.所以我无法理解发生了什么.