我有Angular 5项目。这是带有许多标签的管理员网站。每个标签包含复杂的过滤器和网格。经常切换标签增长内存(在Chrome js堆大小),但DOM节点的数量不增长。在5分钟内将内存增加到1GB并不是问题。 IE的限制大约为1.5 GB,然后由于内存不足而下降。
起初我认为这只是我们的应用程序或Angular的问题,但我创建了一个简单的html测试页面,其中包含两个按钮和简单的javascript。一个按钮添加一个文本框,另一个按钮删除它。然后我创建了一个简单的E2E测试,增加了1000次并删除了浏览器中的文本框和内存。在Chrome(66)和IE11中测试了与角度应用程序相同的症状,JS Heap正在增加,但是DOM节点的数量很好。
然后我尝试观看例如facebook.com,这是最着名的单页应用程序之一。我看了同样的行为,暂时放弃应用程序不是问题。
我认为这个问题是由一遍又一遍地添加和删除许多html元素引起的。
有没有人有类似的经历或解决方案?