小编loi*_*slo的帖子

jQuery的响应文本的AJAX内存泄漏?

我正在使用谷歌Chrome开发工具:堆快照调试我的应用程序内存泄漏,并注意到一些奇怪的事情.

我提出了一个AJAX请求来获取一个JSON的大型博客,显然原始的响应文本在内存中存在,导致我的应用程序内存泄漏.

我似乎不太可能在$ .ajax中存在巨大的内存泄漏,但我希望能够解释为什么会出现这种情况......如果我在vanilla JS中进行相同的实验,则不会显示泄漏.

1)纯JavaScript XHR

2)使用$ .getJSON

屏幕截图:XHR请求的整个HTTP响应卡在内存中."按钮1"在按下按钮之前."快照2"之后.请注意下面的截图,它是堆之前/之后的比较.

纯JS版本没有重现相同的行为.

在此输入图像描述

(当然HTMLDivElement仍然会保留在堆中,因为它在DOM中,但似乎没有必要将完整的JSON对象保留在堆中)

javascript ajax jquery memory-leaks google-chrome-devtools

7
推荐指数
1
解决办法
1580
查看次数