首页 > 解决方案 > 如何解决角度内存泄漏

问题描述

为了手动优化 Garbage Collector,我们如何强制将变量推送到垃圾收集器?就像我们在一个角度组件中有一个根/全局级别变量,然后当我们从那个页面切换到另一个页面时 - 我们不需要那个页面中的全局变量?我们如何转向垃圾收集器?

如果我们在 ngOnDestroy() 上执行 variable = null 或 variable = undefined 就像我们取消订阅 observables 一样,会有帮助吗?

标签: javascriptangularoptimizationmemory-leaks

解决方案


防止泄漏的策略

  • 在组件 $destroy 阶段取消对组件中模型的所有引用

  • 尝试使用另一层间接删除所有循环依赖项

  • 创建一个 this.state 对象来管理实例状态,以便于取消

  • 处置订阅

  • 检查第三方软件并根据内存问题或贡献 PR 来决定是否使用它


推荐阅读