【发布时间】:2019-02-20 09:32:31
【问题描述】:
我在 Edge 中打开了我的 Web 应用程序。当我通过应用程序登录并进入主页时,我注意到任务管理器中应用程序的内存消耗。然后我在站点上进行了一些操作,然后再次进入任务管理器,看到内存以意想不到的方式增加;高达 1800 MB。
什么原因导致客户端内存泄漏?
我在客户端使用了 JQX、Google 地图 API 和 jQuery。有谁知道是什么原因导致释放此内存?
【问题讨论】:
-
请注意“IE”和“Edge”是不同的浏览器。我们可以从任务管理器的屏幕截图中看到,您在这种情况下特别指的是 Edge。但是要解决这个问题,我们需要查看您的代码。
-
Edge 在不做任何其他操作的情况下打开它时使用了多少内存?您是否加载了一些扩展程序?一般来说,当 DOM 元素被删除但没有从内存中释放时,就会发生内存泄漏。这通常由浏览器自己处理,每个都是字节的问题,所以这么快使用几 Gb 的内存是不太可能的。
-
当我第一次打开我的应用程序时,edge 大约消耗了 450 MB 然后我执行了一些操作,例如打开和关闭弹出窗口,然后再次进入任务管理器,然后再次增加到 600当我打开应用程序将近半个小时并且什么都不做时,它达到了高达 1800 MB 的水平
-
在没有看到您的代码或不知道它的作用的情况下,很难诊断问题。不过,正如我上面所说,垃圾收集是由浏览器处理的。如果这种行为在其他浏览器中没有发生,那么这可能只是 Edge 成为糟糕浏览器的另一个原因。
标签: jquery internet-explorer memory-leaks microsoft-edge jqxgrid