GC.CollectionCount 的 MSDN 文档指出:“返回指定代对象的垃圾收集发生的次数。”
这是否意味着它只在分代堆上执行此分析,或者是否有某种方法可以测量大对象堆中发生的集合数量?
GC.CollectionCount 的 MSDN 文档指出:“返回指定代对象的垃圾收集发生的次数。”
这是否意味着它只在分代堆上执行此分析,或者是否有某种方法可以测量大对象堆中发生的集合数量?
你真的不应该太担心这些类型的方法,除非你正在构建一些非常具体的东西或者有一个有针对性的用例。通常,您会从内存分析器的结果中获取此信息,这将为您提供更多有用的信息
一些相关信息
新分配的对象形成了新一代的对象,并且是隐式的第 0 代集合。但是,如果它们是大对象,则它们会在大对象堆 (LOH) 上运行,有时称为第 3 代。第 3 代是在逻辑上作为第 2 代的一部分收集的物理代。
使用GC.CollectionCount
它需要一个代整数,所以如果你愿意,你可以指定 3
关于GC.Collect
这一点,将全面收集所有世代。
这个话题显然还有很多内容已经被掩盖了。但是,以下是一个很好的起点