【问题标题】:Javascript , ajax and memory usageJavascript , ajax 和内存使用
【发布时间】:2017-12-20 14:44:24
【问题描述】:

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

我的问题是

1- 这些对象响应位于何处,是在 RAM 上还是在硬盘上?

2- 如果它在 RAM 上:当我进行第二次 ajax 调用以下载其他文件时,我注意到我的浏览器内存使用率随着每次调用而增加,我如何清除这些旧对象响应下载?

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

【问题讨论】:

标签: javascript jquery ajax memory-management ram


【解决方案1】:

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

我是如何发现问题的:

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

    for(i=0;i

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

    }

  2. 所以我的代码出现了问题。排除原则:我开始逐行删除,找出是哪一行导致问题:Result => .append() and html() 导致内存泄漏,所以我用javascript innerHTML 或appendChild() js => 问题解决了

【讨论】:

    猜你喜欢
    • 2011-06-03
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2014-01-06
    • 2018-05-20
    相关资源
    最近更新 更多