You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关闭angular/mat-dialog后出现内存泄漏问题求助

Angular Material Dialog 内存泄漏问题:已分离DOM元素无法释放

打开并关闭mat-dialog后,与对话框及其内容关联的DOM元素会以已分离元素的形式留存于内存中。每次执行打开/关闭操作,该问题都会重复出现,已分离元素的数量只增不减,始终无法被垃圾回收机制释放。

复现步骤

  • 创建新的Angular项目
  • 生成一个基于Angular Material Dialog的对话框组件
  • 在对话框组件的dialog-component.html中添加任意DOM元素
  • 编译并运行项目
  • 打开Chrome开发者工具的「Memory」标签页
  • 使用内存工具拍摄初始快照
  • 多次打开并关闭对话框,手动触发垃圾回收
  • 拍摄第二次内存快照
  • 对比两次快照数据
  • 查看「Detached」区域的元素统计

观察到的行为

每次完成一次打开/关闭周期后,内存中都会留存多个已分离的<mat-dialog-container>实例,以及其包含的所有子元素。
调试器显示已分离元素的截图

预期行为

关闭mat-dialog后,内存中不应留存任何已分离的相关DOM元素,避免出现内存泄漏问题。

内容的提问来源于stack exchange,提问作者Chrisurfeur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 05:17:32