在微软边缘团队已经创建了新的工具,允许用户调试内存泄漏在其浏览器,以帮助防止减速。当应用程序的JavaScript代码在内存中保留越来越多不再需要的对象而不是将它们释放以进行垃圾回收(GC)时,就会发生内存泄漏。根据微软的一篇新博客文章,对于长时间运行而不被关闭的应用程序,只有几千字节的小内存泄漏加起来会随着时间的推移显着降低性能。
React是用于构建前端用户界面的开源JavaScript库,它维护着DOM(文档对象模型)的虚拟化副本。但是,未能正确卸载组件可能会导致应用程序泄漏大部分虚拟DOM。
为此,MicrosoftEdge团队与MicrosoftTeams合作构建了浏览器的新分离元素工具,该工具允许用户调查和解决DOM内存泄漏。
尽管分离元素是有正当理由的,但当应用程序保留对越来越多的分离元素的引用而没有在以后实际重用它们时,就会发生DOM内存泄漏。随着应用程序中使用的代码的大小和复杂性的增长,犯错误和忘记清理可能会在不知不觉中导致将DOM元素保留在内存中的事情变得更容易。
对于长时间运行的应用程序来说,这尤其是一个问题。例如,如果电子邮件客户端在每次打开和关闭电子邮件时分离DOM元素,并且用户让应用程序运行整整一周,那么随着时间的推移,这可能会导致非常高的内存使用量并减慢用户的商务笔记本电脑或工作站的速度。
虽然Microsoft的新分离元素工具自93版以来已在EdgeCanary中可用,但它将在本月浏览器97版发布时推出到MicrosoftEdge的稳定频道。
不过,要尽早访问这个新工具,您首先需要按F12在Edge中打开DevTools,然后单击齿轮图标以打开DevTools设置。从这里,导航到“设置”窗格左侧的“实验”,输入“分离元素”并单击该工具以启用它。