9得票1回答
32位和64位应用程序中GC行为不一致

我注意到在使用VS 2013编译32位和64位的.NET 4.0控制台应用程序时,GC的行为不一致。 请看以下代码: class Test { public static bool finalized = false; ~Test() { final...

9得票2回答
为什么C#垃圾回收器不会一直尝试释放内存,直到满足请求为止?

Consider the code below: using System; namespace memoryEater { internal class Program { private static void Main(string[] args) ...

10得票3回答
为什么我的Close函数没有被调用?

class Program : CriticalFinalizerObject { static void Main(string[] args) { Program p = new Program(); ...

8得票3回答
打开MapActivity时出现“finalizer引发未捕获的异常”

我在代码中有这些行: 我在代码中有这些行: // create tab4 intent = new Intent(this, ActWhereAmI.class) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); tabspecWhere...

12得票6回答
非常奇怪的OutOfMemoryError。

一如既往,是一个冗长的问题描述。 我们目前正在对我们的产品进行压力测试 - 现在我们面临一个奇怪的问题。一到两个小时后,堆空间开始增长,应用程序稍后就会死掉。 对应用程序进行分析显示大量 Finalizer 对象填充了堆空间。我们认为可能是“奇怪的 finalizer 线程太慢”问题,并尝...

7得票4回答
(.net) CriticalFinalizerObject - 它到底是做什么用的?

我对这个类的理解是,当你想要确保该类的终结器(析构函数)被调用时,应该使用它,但是经过我进行的一些测试,似乎并不是这样。如果它不能确保调用dispose方法,那么还有其他方法吗?例如,如果我想确保一些代码运行来结束我的对象,即使我通过任务管理器或其他方式关闭了程序,该怎么办?

13得票2回答
WPF垃圾回收的高级调试建议

情况 我们正在运行一个大型的WPF应用程序,它不会在相当长的时间内释放内存。这不是真正的内存泄漏,因为内存最终会被释放。我知道通常情况下,这不会被认为是一个问题。不幸的是,与WPF命令基础设施结合使用时,它会成为性能问题。请参见下面的详细描述。 结果 我们有一些自动化测试,执行典型用例。...

14得票1回答
终结器线程的范围是针对应用程序域还是整个进程?

根据我阅读的所有内容,应该有一个GC线程来调用所有终结器。现在问题是这个“一个”线程的范围 - 是每个进程还是每个应用程序域,因为域的整个意图是将一个进程空间中的不同应用程序分开并使它们“独立”。 我在这里阅读到: 如果在终结器中发生未处理的异常,CLR 的执行线程将吞噬这个异常,将终结器...

10得票3回答
Finalizer Queue和Control+ThreadMethodEntry是什么?

我有一个WindowsForms应用程序,似乎存在内存泄漏问题,因此我使用Redgate的ANTS内存分析器查看我怀疑的对象,并发现它们只被已经在终结器队列(Finalizer Queue)中的对象所引用。非常好,那么什么是终结器队列?您能指出最好的定义吗?您能分享一些趣闻轶事吗? 此外,终...

13得票2回答
关机钩子 vs 终结器方法

我不明白为什么必须使用Runtime.addShutdownHook。如果你想在jvm退出时进行一些清理工作,为什么不只是过载守护类的finalize方法呢?使用shutdown hook相比finalize方法有何优势? 此外还有一个已弃用的函数runFinalizersOnExit。如果...