我有以下内容正在更新屏幕上的元素,我似乎无法阻止它消耗内存,它每分钟大约消耗 0.10% 或 ram。
我已经尝试将所有变量清空,但我似乎无法阻止此泄漏。
function TimeTick(){
var lt = new Date();
lt.setMilliseconds(lt.getMilliseconds()-g_svros);
var ch=lt.getHours(), cm=lt.getMinutes(), cs=lt.getSeconds();
if(ch==0) ch=12;
$('#clock').val((ch >12?ch-12:ch)+":"+(cm<10?"0":"")+cm+":"+(cs<10?"0":"")+cs+" "+(ch>=12?"PM":"AM"));
lt=null;ch=null;cm=null;cs=null;
}
var tick = setInterval('TimeTick()',250);
我通过对浏览器进程进行采样,从命令提示符处分析了浏览器的内存使用情况。
如果我禁用此功能,那么内存不会增加并保持完全稳定!
最佳答案
'TimeTick()'
每 250 毫秒评估一次。
看看这是否有所不同:
var tick = setInterval(function () {
TimeTick();
}, 250);
查看评估基准 here .
关于jQuery 屏幕时钟内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18650209/