Javascript,ajax和内存使用情况

问题描述 投票:1回答:1

为了简化我的问题,我想我有一个应用程序可以打开客户端上的Intranet。我想应用程序有一个页面,我使用ajax与服务器进行交互。我正在使用ajax来下载字节文件(每个字节文件的3Mo作为来自服务器的ajax对象响应),这些字节文件稍后在画布上绘制。

我的问题是

1-这些对象响应在哪里,是在RAM还是硬盘上?

2-如果它在RAM上:当我进行第二次ajax调用以下载另一个文件时,我注意到每次调用我的浏览器内存使用率都会更高,我如何清除这些旧对象的响应下载?

PS:我确定它们存储在某处,因为当我在浏览器上按F12并进入网络部分时,我可以看到旧的ajax响应对象。提前谢谢你,对不起我的英语。

javascript jquery ajax memory-management ram
1个回答
2
投票

有些人投票结束但有时他们没有花时间阅读他们刚刚链接到2009年的旧链接的问题,认为他们回答了你的问题,或者也许我不清楚,无论如何,我发现了为什么我的记忆的问题对于那些已经或将要遇到同样问题的人,我正在使用一些导致内存泄漏的jquery方法。

我是如何发现问题的:

1-我删除了收到ajax响应后发生的所有指令,我只留下了ajax调用。结果=>没有内存泄漏

for(i=0;i<120;i++){ //am not using the 'for' loop, it is just an example
   $.ajax({

   }).done(function(){
    // i deleted all this 
   });
}

2-所以我的代码出现了问题。消除原则:我开始逐行删除以确定哪一行导致问题:Result => .append()和html()导致内存泄漏,所以我用javascript innerHTML或appendChild()js =>问题替换它们解决了

© www.soinside.com 2019 - 2024. All rights reserved.