草庐IT

c++ - glGenBuffers - 释放内存?

全部标签

javascript - 循环添加/删除 DOM 节点会导致 JavaScript 内存泄漏?

我正在尝试显示使用DOM元素(添加/删除它们)进行操作的动态可变数据。我发现几乎所有浏览器都有一个非常奇怪的行为:在我删除一个DOM元素然后添加一个新元素后,浏览器没有释放被删除的DOM项目占用的内存。请参阅下面的代码以了解我的意思。在我们运行此页面后,它将逐步占用多达150MB的内存。谁能向我解释这种奇怪的行为?还是我做错了什么?functionredrawThings(){//Removingallthechildrenfromthecontainervarcont=document.getElementById("container");while(cont.childNodes

javascript - Three.js - 释放内存

我使用内置的形状挤出功能沿着样条线挤出形状。每次移动样条曲线的节点时,我都会创建一个新网格。但是这个我的内存很快就满了。每次我创建一个新的网格时,我都会删除旧的scene.__removeObject(mesh);但它不会释放已用内存。我测试了FirefoxNightly和Chrome,如果内存已满,它们都会崩溃。我搜索了一般的WebGL功能和Three.js相关的解决方案,但没有找到任何东西。也许具有更多WebGL/Three.js知识的人可以给我提示。谢谢 最佳答案 确保您没有在其他任何地方引用javascript网格对象,以便

javascript - 如何查找内存泄漏并调试 jquery/javascript 应用程序?

我正在尝试调试一个用jqueryMobile编写的相当大的应用程序,并且正在努力确定可疑的内存泄漏。我一直在上下运行所有​​功能的应用程序中纵横交错。一直以来,服务器内存使用情况都正常,除了一个页面之外的所有页面都工作正常。在有问题的页面上(小部件繁重的产品搜索和订购页面,使用JQMphotoswipe、multiview以及一堆其他插件)在大多数按钮停止工作之前都可以正常工作一段时间。按钮没有反应告诉我我需要检查我的jquery应用程序管理器,它也处理所有事件绑定(bind)。问题是,大约90k,我真的不知道从哪里开始,所以问题:是否有任何工具可以检查Jquery/Javascrip

javascript - 内存泄漏的单元测试javascript

有没有办法对javascript内存泄漏进行单元测试?我的意思是,有什么方法可以直接从javascript代码访问堆以检查分离的DOM树或增加的内存使用量?我知道您可以通过Chrome开发工具执行此操作,但我想知道是否有一种方法可以直接从我的单元测试中执行此操作,因为编写一些代码、获取堆快照、执行潜在的内存操作似乎很乏味泄漏操作,拍摄另一个堆快照,并为每个可能的内存泄漏操作重复,每次编写另一个代码片段。更不用说在一个地方添加代码可能会导致应用程序另一部分发生意外内存泄漏。只是我写了一个内存泄漏很大的应用程序,我不得不从头开始。这次我开发应用程序时,我想确保我的单元测试可以检测到我刚刚造

javascript - Angular 内存游戏

我正在重制memorygame熟悉controllerAsViewSyntax.我已将问题缩小到检查功能;但我可能是错的。检查函数将card作为参数传递,但是当我使用console.log(card)时,card没有值,而card应该具有数组平假名或可选字母的值。(function(){//constantvariablesvarconstants=new(function(){varrows=3;varcolumns=6;varnumMatches=(rows*columns)/2;this.getRows=function(){returnrows;};this.getColumn

javascript - 从 JavaScript 调用 WebAssembly 中的 C 风格函数指针

有什么方法可以访问WebAssembly模块中的函数指针吗?例如,给定以下编译为WebAssembly的“模块”:externvoidset_callback(void(*callback)(void*arg),void*arg);staticvoidcallback(void*arg){/*...*/}intmain(){set_callback(&callback,0);return0;}JavaScript中do_callback的实现是否可以调用回调而不必依赖中间C函数导出来执行实际函数调用?varinstance=newWebAssembly.Instance(module,

javascript - 使用内存获取字符串会产生不正确的结果

我正在关注这里的解决方案:HowcanIreturnaJavaScriptstringfromaWebAssemblyfunction和这里:Howtoreturnastring(orsimilar)fromRustinWebAssembly?但是,当从内存中读取时,我没有得到想要的结果。AssemblyScript文件,helloWorldModule.ts:exportfunctiongetMessageLocation():string{return"HelloWorld";}index.html:fetch("helloWorldModule.wasm").then(respo

javascript - Firefox 插件的内存泄漏

我有一个插件,它很大,我需要了解一些东西......是什么导致Firefox插件内存泄漏?如何找到导致泄漏的原因?如何修复漏洞?插件在页面上添加一些元素,请求页面的某些部分并更新DOM。每次重新加载页面都会增加内存,即使关闭选项卡也不会释放内存。 最佳答案 这是一个Firefoxextension它可以捕获某些类型的内存泄漏。有更多关于调试泄漏的文档here,但它有点难读。 关于javascript-Firefox插件的内存泄漏,我们在StackOverflow上找到一个类似的问题:

javascript - 如何在 Internet Explorer 中清理 JSONP 内存

我是JSONP开发的新手,我发现IE7/8不会清理JSONP脚本占用的内存。这会导致我的页面在运行几个小时后内存消耗非常高。我环顾了Internet,发现大多数修复都是基于NeilFraser中的提示。.从博客上说您需要使用如下代码删除脚本中的所有属性vartmp;while(tmp=document.getElementById('JSONP')){tmp.parentNode.removeChild(tmp);//thisdeletionwillcreateerrorinIE.for(varpropintmp)deletetmp[prop];tmp=null;}不幸的是,删除会在I

javascript - 具有 ID 属性的动态 DOM 对象的 IE9 内存泄漏

我注意到为动态创建的DOM对象分配ID属性值会导致IE9泄漏内存。有没有其他人经历过这种情况,更重要的是,知道任何解决方法?它在其他浏览器中不会泄漏,即使是IE6也能通过!泄露代码演示:它只是连续地从表中添加和删除行,并为每一行分配一个ID以供稍后查找。没有“row.id=eid;”就不会发生泄漏functionaddRow(tbl,index){varrow=tbl.insertRow(index);vareid="loongrowid"+count;row.id=eid;for(vari=0;i';for(vari=1;iTESTINGselecteddatetimeplacede