这主要面向桌面应用程序开发人员。
如何设计一个与 GC 配合得很好的缓存块?
我如何告诉 GC 我刚刚进行了缓存扫描,是时候进行 GC 了?
如何准确测量何时进行缓存扫描?
是否有任何我可以借鉴的预建缓存方案?
这主要面向桌面应用程序开发人员。
如何设计一个与 GC 配合得很好的缓存块?
我如何告诉 GC 我刚刚进行了缓存扫描,是时候进行 GC 了?
如何准确测量何时进行缓存扫描?
是否有任何我可以借鉴的预建缓存方案?
虽然我显然无法谈论您的应用程序的细节,但在大多数情况下,您不应将缓存实现与对 GC 工作方式的预期预期联系起来。正如 Stu 提到的,调用 GC.Collect() 将强制收集(对特定代进行重载),但通常不这样做会导致性能比让 GC 自行管理更差。
如果您确实发现(在进行了一些实际性能测试之后)需要与 GC 交互,请确保您考虑了框架当前具有的不同类型的 GC(有关更多信息,请参见此处)。