我看到了Memory Leak When Pulling JSON from WEB中描述的相同问题。
我只是有一个定期发出jsonp ajax请求的函数。我的函数由setInterval触发的另一个函数调用。
我看到我试过的所有broswers都有内存泄漏,IE,Safari,FireFox。我在Safari脚本调试器中看到的一点是,对ajax请求的每个响应都在脚本调试器窗口的下拉列表中列为脚本,就好像某些脚本对象没有被清除一样。
我正在使用jquery 1.6.2。这是一个“长期”泄漏,运行几分钟后没有清理干净。
任何想法导致了什么?
request: function ()
{
$.ajax({
url: <myurl>
dataType: "jsonp",
jsonp: "jsoncallback",
timeout: 5000,
cache: false,
beforeSend: function (xhr)
{
},
success: function (data, status, xhr)
{
},
error: function (xhr, status, error)
{
},
complete: function (req, status)
{
}
});
}
...
setInterval(request, 100);
答案 0 :(得分:1)
你每100毫秒发送一次ajax请求就足够了。
请注意,setInterval(请求, 100 ); - 100不是指秒,而是毫秒。 1秒= 1000毫秒
答案 1 :(得分:0)
就jQuery泄漏而言,请参阅jQuery memory leak with DOM removal
有一个用于查找内存泄漏的实用程序:http://www.outofhanwell.com/ieleak/Drip-0.5.exe
@genesis也是正确的。