草庐IT

堆内存分析

全部标签

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 - 如何在 React 16 中进行性能分析

React文档声明react-addons-perf不适用于React16,但Chrome'sbuilt-intoolsprovideequivalentfunctionality。我还没有发现这种情况。例如,假设我犯了一个经典错误,即没有在元素列表(democodeisonGitHub)中包含正确的key:render(){constitems=this.state.items.map((item,index)=>)returnAdditem{items};}key={index}问题将导致每个ListItem在我将项目添加到列表时重新呈现。使用React15perf工具,我可以很容

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 - PhoneGap 应用程序的最佳分析?

在phonegap应用程序中跟踪用户操作的最佳方式是什么?我正在使用PhoneGapBuild来构建一个纯JS/CSS/HTMLSenchaTouch应用程序,所以我无法访问其他任何东西。GoogleAnalytics仅适用于连接的事件,我相信我的大部分应用程序使用都是在网络之外进行的。有哪些解决方案?我愿意为值得使用的东西付费。 最佳答案 由于接受的答案无效,因为该插件不再存在,我只想提及我为此目的检查过的插件。实际上有3个(还有一些处于测试阶段):https://github.com/phonegap-build/GAPlugi

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

Javascript 分析代码操作(G. Analytics)

为了我的工作,我正在做一个关于GoogleAnalytics有效性的研究项目(主要是关于flippa上经过验证的报告)-->看看是否有可能完全伪造G.Analytics(一个简单的Yes不会削减它)!我修改了G.Analytics代码如下:var_gaq=_gaq||[];_gaq.push(['_setAccount','UA-19629541-5']);_gaq.push(['_setAllowHash',false]);_gaq.push(['b._setAccount','UA-19629541-5']);_gaq.push(['b._setAllowHash',true]);