草庐IT

c# - 防止 WPF 中的内存泄漏

使用WinForms时,您必须在使用gdi对象、事件处理程序、native代码中的对象等后释放内存。在WinForms中,我过去常常删除dispose方法中的事件处理程序。在Wpf中防止内存泄漏的最佳解决方法是什么?它与使用Disposepattern的Winforms相同吗?我是否需要关心事件处理程序、Wpf中的gdi对象?运行时创建的资源(Brushes等)怎么样? 最佳答案 This博客文章列出了导致WPF应用程序内存泄漏的最常见情况。父窗口中对象的事件处理程序从静态对象注册事件使用计时器数据绑定(bind)更改文本框的Tex

C# 事件内存泄漏

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭10年前。这些未订阅的事件什么时候发生内存泄漏?我应该编写析构函数还是实现IDisposable来取消订阅事件?

c# - 如何避免内存泄漏?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我可以使用哪些技巧来避免应用程序中的内存泄漏?有没有我可以注意的问题或陷阱?

c# - 委托(delegate)会导致内存泄漏吗? GC.TotalMemory(true) 似乎表明如此

代码usingSystem;internalstaticclassTest{privatestaticvoidMain(){try{Console.WriteLine("{0,10}:Startpoint",GC.GetTotalMemory(true));ActionsimpleDelegate=SimpleDelegate;Console.WriteLine("{0,10}:Simpledelegatecreated",GC.GetTotalMemory(true));ActionsimpleCombinedDelegate=simpleDelegate+simpleDelegat

c# - .NET Framework - 可能的内存泄漏类?

就在前几天,我正在调查一个内存泄漏问题,该问题使应用程序在两分钟内从~50MB膨胀到~130MB。原来问题出在ConcurrentQueue上类(class)。在内部,该类存储数组的链接列表。当一个项目从ConcurrentQueue中出队时,数组中的索引会发生变化,但该项目仍保留在数组中(即它未设置为空)。整个数组节点在足够多的入队/出队后被丢弃,因此从技术上讲这不是泄漏,但如果将大型对象放入ConcurrentQueue中,这可能会很快失控。文档没有说明这种危险。我想知道基类库中还有哪些其他潜在的内存陷阱?我知道Substring一个(也就是说,如果您调用substring并保留结

c# - 在C#中查找内存泄漏

在以下程序中,尽管执行了垃圾回收,但未重新获得内存的初始大小。1.内存的初始大小为总内存:16,940字节专用字节8134656在循环内创建的对象,以便在循环外完成gc收集时释放这些对象,因为这些对象没有范围。但是GC收集后的内存与初始大小不同总内存:29,476字节专用字节8540160句柄数:115usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceMemoryLeakTest{classProgram{staticvoidDisplayMemory(){Con

javascript - 在 Chrome 中操作图像时内存泄漏

我在Chrome中遇到了以下2个(巨大的!)内存泄漏:使用新字节编辑现有图像的“src”时使用clone()克隆图像时请注意,在InternetExplorer中从来没有内存泄漏!一些背景:我正在从事一个项目,其中外部摄像头提供实时图像馈送(假设每秒100帧)。该项目的主要3个功能是:播放直播录制直播显示录制的提要欢迎您下载以下独立代码(只需将其保存为“leak.html”并执行),并亲自查看:varmeContext=document.getElementById("meCanvas").getContext("2d");//Bytesarrayrepresentingachairi

javascript - 重复应用 d3 转换导致内存泄漏

我有一个SVGmap和一个间隔,用于轮询数据更改并相应地更新map上的颜色。除非我使用过渡淡入新颜色,否则一切正常。然后选项卡会慢慢消耗越来越多的内存,直到崩溃。我做了一个显示相同行为的简化示例:varsize=500;varnum=25;varboxSize=size/num;functioncolor(d){return'#'+Math.random().toString(16).slice(2,8);}varsvg=d3.select('body').append("svg").attr("width",size).attr("height",size);varsquares=s

javascript - 关闭时销毁 JQuery UI 对话框时出现大量 IE7 内存泄漏

我到处寻找答案,甚至是对这个特定问题的引用都无济于事。我正在使用JQueryUI1.8.7和JQuery1.5.1。我有一个对话框,我不仅要在关闭时销毁它,还要在关闭时从DOM中删除它。这在Firefox中运行良好。然而,当我在IE7中做同样的事情时,我看到浏览器的内存使用量激增了6MB,并且在我完全关闭浏览器之前,这些内存永远不会被回收。所以我的第一个想法是,我的对话框中的某些内容导致内存泄漏。我删除了我添加的所有内容,并使用以下代码制作了一个简单的对话框:$('hello').dialog({modal:true,autoOpen:true,close:function(){$(t

javascript - jQuery/Sizzle checkContext 内存泄漏

在DevTools中使用“配置文件”调试我的应用程序时,我发现“分离的DOM树”不断累积。这些分离的节点具有主要由checkContext函数组成的保留树(来自sizzleinsidejQuery-v1.10.1)。我不确定如何进行此操作。这个结果是什么意思? 最佳答案 Sizzle将已编译的选择器存储在选择器缓存中,默认情况下最多可存储50个条目。您可以在进行任何选择之前通过设置$.expr.cacheLength=1进行试验,看看它们是否会消失。这是文档https://github.com/jquery/sizzle/wiki/