Dav*_*dia 5 ajax jquery json memory-leaks
我通过AJAX调用反复从服务器获取JSON对象.随着时间的推移,浏览器的内存使用量会增长(尝试使用Chrome,Safari,Firefox).使用Chrome的堆快照,我发现时间戳字符串没有引用.如果我拍摄一系列快照,我会看到字符串的数量不断增加.
$(function() {
var latestTimestamp = 0;
function fetchData() {
$.get("/parameter?format=json&since=" + latestTimestamp, gotData)
}
function gotData(data) {
latestTimestamp = data['timestamp'];
setTimeout(fetchData, 250);
}
fetchData();
});
Run Code Online (Sandbox Code Playgroud)
其他说明:
timestamp在JSON对象实际上是一个整数,而不是字符串.那么累积的字符串可能是临时值?+ latestTimestamp从AJAX请求中删除会阻止泄漏.一旦你完成了 data[],你就可以删除它:
function gotData(data) {
latestTimestamp = data['timestamp'];
delete data;
setTimeout(fetchData, 250);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1885 次 |
| 最近记录: |