我正在构建一个带有几个搜索属性的简单搜索面板和一个结果面板的应用程序。在结果面板中,我使用Slickgrid以表格形式呈现数据。
经过几次搜索(对服务器的 AJAX 调用),页面加载太多,最终在一段时间后崩溃。我检查了 DOM 计数和 JavaScript 堆使用情况是否存在内存泄漏。我在那里找不到任何问题。但是,当我运行实验性本机内存分析器时,我看到“JavaScript 外部资源”部分使用了 600+ MB 内存。在运行垃圾收集器时,它正在下降到几 MB。我在这里有几个问题:
- 什么有助于“JavaScript 外部资源”部分?我认为它对应于从服务器传输的 JSON 数据/JavaScript 源。仅供参考,来自服务器的 gzip 压缩 JSON 响应约为 1MB。
- 为什么 Chrome 不主动释放内存而不是使页面崩溃?同样,当我手动运行垃圾收集器时,它正在释放“JavaScript 外部资源”使用的内存。
如何解决原来的问题?