我正在尝试找到一种了解垃圾回收的方法。无论是开始、结束还是正在进行中。我真的只需要一些与收藏本身相关的事件(我认为)。
我的问题是我有一个 WeakEventManager(从头开始编写)并且我有删除的清理方法和不再存在的 WeakReferences(WeakReferences 在字典中)。
问题是我必须知道什么时候该“清理”了。当收集器在做它的事情时进行清理会很好。即便是在垃圾回收之后,至少下一次回收会移除这些旧对象。
最佳答案
System.GC 类提供了一个 RegisterForFullGCNotification 方法,该方法允许在垃圾收集即将完成和完成时发出通知。
这并不理想,因为使用此方法有一些注意事项,例如必须禁用并发垃圾收集才能使此方法起作用。
请查看以下链接以获取完整信息:
关于c# - 是否有任何事件告诉应用程序何时发生了垃圾收集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/622276/