|
|
1
8
未能删除事件处理程序。
|
|
|
2
7
P/调用非托管代码,不清理它们,或者不实现IDisposable来清理它们。 |
|
|
3
7
不使用
|
|
|
4
6
|
|
|
5
4
未能实现Dispose,因此未处理子对象。 |
|
|
6
4
WCF客户端对象的执行方式与其他IDisposable对象不同。如果操作处于故障状态,则必须中止WCF服务的客户端,否则它将保持连接打开。这通常是通过艰苦的方式学会的。 |
|
|
7
2
在使用Office API时,几乎所有内容都是如此。因为它们都是COM对象,所以必须对它们进行处置。如果要使用事件处理程序,还必须保留对它们的类引用,否则它们将丢失引用。在很多情况下,您甚至必须手动调用GC来清理对象 |
|
|
8
2
使用WeakReference可能会导致微妙的泄漏,因为WeakReference持有的对象没有强引用而被清理,但WeakReference本身并不是因为您保留了对它的强引用。
|
|
|
9
2
易内存泄漏:在类型列表的类中创建静态字段。将项目添加到列表中。它们永远不会被垃圾收集,因此,除非您在处理完它们后记得手动删除它们,否则内存将永久性地被占用。 |
|
|
10
1
|
|
|
11
1
如果将托管内存计算为“资源”-未能取消挂钩事件处理程序是内存泄漏(以及其他各种更严重的错误)的常见来源。 |
|
|
12
1
在启动代码之外填充的静态列表、字典和基于集合的资源。 如果有一个字典用作全局缓存,而不是基于LRU的适当缓存,则可能会发生这种情况。 静止的 需要格外小心! |
|
|
13
0
模拟令牌句柄保持打开状态。 |
|
|
14
0
|
|
|
15
0
|
|
16
0
|