草庐IT

内存单位

全部标签

javascript - 随着时间的推移,Ajax 繁重的 JS 应用程序使用过多的内存

我正在处理的应用程序中似乎有一些相当大的内存泄漏。该应用程序本身并不是很复杂。每15秒,页面从服务器请求大约40kb的JSON,并使用它在页面上绘制一个表格。将表格绘制过来更便宜,因为数据通常总是新的。我将一些事件附加到表格中,每行大约5个,表格中有30行。我使用jQuery的.html()方法将新的html放入容器并覆盖现有的。我专门这样做是为了让jQuery的特殊清理函数进入并尝试分离它正在覆盖的元素中的元素上的所有事件。然后,我还会使用deletemy_var将html的大变量发送到DOM后将其删除。我检查了几次从未清除的循环引用和附加事件,但从未真正深入研究过。我想知道是否有人

javascript - 为什么这是 JavaScript 中的内存泄漏?

我在IBM的网站上阅读这篇关于JavaScript内存泄漏的文章(http://www.ibm.com/developerworks/web/library/wa-memleak/)时,我遇到了一个看起来不太像泄漏的内存泄漏:document.write("Programtoillustratememoryleakviaclosure");window.onload=functionouterFunction(){varobj=document.getElementById("element");obj.onclick=functioninnerFunction(){alert("Hi

javascript - NodeJs 以字节为单位获取变量的大小

我有一个变量“img”,它是一个通过以下方式加载的图像文件:varimg=fs.readFileSync('./tmp.png');如何确定“img”变量的字节数? 最佳答案 就像img是一个缓冲区,你可以简单地使用img.length,它会给你八位字节的大小(8位字节) 关于javascript-NodeJs以字节为单位获取变量的大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

javascript - 使用 javascript setInterval 会增加 CPU 的内存消耗

我正在开发一个.NETWeb应用程序,我必须使用javascript函数setInterval()执行ajax请求以刷新某些页面的信息。对于每个ajax请求,我都会收到大约68KB的xml响应,我设法通过jQuery在html中进行视觉更改。我将间隔设置为2000毫秒,但我想,或者更确切地说,我需要将它减少到1000毫秒。不幸的是,每次请求都会增加CPU的内存消耗,这会导致浏览器被阻塞,除非重新加载页面,否则用户无法使用它。我在Firefox、InternetExplorer和Chrome中对此进行了测试,但结果始终相同。如果我不执行setInvertal(),问题就会消失。此外,我一

javascript - 计算以周为单位的日期差异(Javascript)

我有两个字符串:1387050870和2012-12-15我如何计算这两个日期之间的周差(52)?我尝试了Math.round(1387050870-(Math.round(newDate('2012-12-15').getTime()/1000))/604800),但没有成功似乎不起作用。 最佳答案 JavaScriptDate对象接受毫秒作为其构造函数,因此请先转换再尝试:vara=newDate(1387050870*1000);varb=newDate("2012-12-15");varweeks=Math.round((a

javascript - XMLHttp POST 请求的巨大内存泄漏

如何避免XHRPOST内存泄漏?我浏览了很多关于XHR内存泄漏的网页,但没有好的解决方案。我的问题和this的博客差不多,有说明问题但没有解决方案。我的问题:我有一个网络应用程序,它不断向服务器发送日期(2Mb到80Mb),它会发出10到300个请求。它是POST请求。对于GET请求没有这样的大问题。我该如何解决这个问题?循环引用、范围、更接近等我尝试但没有成功。我尝试使用delete关键字来更改readystate,删除以前的xhr对象,尝试重用xhr,对null的xhr引用,更改编码模式等这是示例代码。这是我需要的功能varbase_string="ABCDEFGHIJKLMNOP

javascript - 在javascript中从内存中删除对象

我正在开发一个包含大量Javascript的AJAX应用程序。所有页面均通过AJAX加载。在某个页面上,我有一个用Javascript构建的网格。现在,当我离开该页面时,我想销毁该网格。我调用jQuery.remove()但这只会从DOM中删除对象。我的问题是如何从内存中删除这个网格对象?因为当我离开页面时它仍然存在。非常感谢! 最佳答案 如果您删除对网格的所有引用(即,将null分配给变量),垃圾收集器将从内存中删除该对象。 关于javascript-在javascript中从内存中删

javascript - 如何计算 JavaScript 中字符串的长度(以像素为单位)?

如何在JavaScript中计算字符串的长度(以像素为单位)? 最佳答案 你可以使用简单的代码varcanvas=document.createElement('canvas');varctx=canvas.getContext("2d");ctx.font="11pxArial";varwidth=ctx.measureText(str).width; 关于javascript-如何计算JavaScript中字符串的长度(以像素为单位)?,我们在StackOverflow上找到一个类似

javascript - Knockout.js 消耗太多内存

我让ProcessExplorer保持打开状态并检查firefox.exe进程的“PrivateBytes”列。在此示例中按下“添加”按钮后:Comment: 使用这段代码:varvm={Comments:ko.observableArray(["a","b"])};ko.applyBindings(vm);$("#btnAdd").click(function(){for(vari=0;i(另见thisjsfiddle)我体验到Firefox占用的私有(private)字节增加了大约50-100MByte。当我将它与缺乏依赖跟踪的实现进行比较时,执行时间也相当长,给出这个例

javascript - 获取以屏幕像素为单位的旋转 SVG 元素的边界?

我正在尝试找到以屏幕像素为单位获取任意SVG元素边界框的最佳方法,以便正确覆盖HTML元素。到目前为止,我的方法是使用.getBBox()和.getCTM()检索对象的边界框和变换矩阵,然后将变换应用于边界框点如thisquestion的已接受答案中所述.//gettheelementvarel=$(selector)[0],pt=$(selector).closest('svg')[0].createSVGPoint();//gettheboundingboxandmatrixvarbbox=el.getBBox(),matrix=el.getScreenCTM();pt.x=bbo