gpt4 book ai didi

c# - Silverlight 记忆

转载 作者:行者123 更新时间:2023-11-30 21:15:01 27 4
gpt4 key购买 nike

为什么 Silverlight 中有这么多内存?

数据:

我有时在用户界面上有很多复选框和其他复选框。当然,我正在从视觉对象中删除复选框和其他控件,但 Silverlight 的内存使用量总是增加;它永远不会减少。

如何确保释放内存?

这是垃圾回收的问题吗?我如何找到所有剩余对象的根没有尚未收集的引用资料?

如果需要,我可以提供更多数据。

最佳答案

内存耗尽的最常见原因是没有将事件处理程序与已从对象树中删除的元素分离。

经常会被忽略的一点是应用程序对象和 MainPage(或用作 RootVisual 的任何对象)上的实例级字段(包括实现事件的委托(delegate)) ) 与 static 字段一样好,因为它们通常与应用程序一样长。

因此看起来很无辜:-

btn.Click += btn_myClickHandler;

如果 btn 在没有相应的情况下从 UI 中删除,则主页代码中的代码可能会导致内存泄漏:-

btn.Click -= btn_myClickHandler;

关于c# - Silverlight 记忆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955796/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com