|
|
1
1
这个“如何”页面。.. http://msdn.microsoft.com/en-us/library/ms979205.aspx …下载网站的链接。 然而,我认为你的问题的答案是“否”。没有一种方法可以说“不再需要对象foo——请收集它,不管它是否有根”。收集一个根对象可能会给你的应用程序带来各种不良影响。 |
|
|
2
1
我实施了 WeakEvents 为了解决这个问题。 不幸的是,Microsoft建议您使用他们的WeakEventManager作为基类,并为应用程序中的每个事件创建一个管理器类型!!!我试图编写一个继承自这个基础的管理器,并使其更“通用”(不是C#中通用的术语)。这种“通用”事件管理器在微软的基类中是不可能的。我不得不从头开始写一个活动经理。
|
|
3
-1
如果一个漏洞页面超出范围,包括所有底层数据,GC将收集它。最终。但是,如果该页面被仍在范围内的任何内容引用,则该页面及其所有数据将保留在内存中,GC将无法收集它。 据我所知,在修复糟糕的内存管理方面没有简单的按钮。在我看来,这意味着唯一的办法就是清理参考文献。这将使GC更容易收集超出范围的对象。 你可以建议GC检查它的算法,看看是否可以通过调用GC来收集任何东西。Collect()。然而,除非数据确实超出范围,否则除了浪费CPU周期外,这几乎没有什么作用。 Phobis的问题,你的应用程序使用了多少内存? 编辑: 链接到CLR Profiler 2.0,它应该适用于.net3.5应用程序。 https://github.com/MicrosoftArchive/clrprofiler |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |