javascript - 如何解决角度内存泄漏
问题描述
为了手动优化 Garbage Collector,我们如何强制将变量推送到垃圾收集器?就像我们在一个角度组件中有一个根/全局级别变量,然后当我们从那个页面切换到另一个页面时 - 我们不需要那个页面中的全局变量?我们如何转向垃圾收集器?
如果我们在 ngOnDestroy() 上执行 variable = null 或 variable = undefined 就像我们取消订阅 observables 一样,会有帮助吗?
解决方案
防止泄漏的策略
在组件 $destroy 阶段取消对组件中模型的所有引用
尝试使用另一层间接删除所有循环依赖项
创建一个 this.state 对象来管理实例状态,以便于取消
处置订阅
检查第三方软件并根据内存问题或贡献 PR 来决定是否使用它
推荐阅读
- google-chrome - Chrome 2019 - 如何禁用详细控制台消息
- python-3.x - 在 TabularDataBunch.from_df() 中寻找有关“路径”参数的文档
- python - wxPython 写入禁用的 wx.TextCtrl
- javascript - 发送的响应延迟了 1 个响应
- javascript - JS:使用带有 querySelector 或 getElementsByTagName 的“实时”列表与非实时 querySelectorAll 相比有什么用?
- typescript - 打字稿选择/取消选择所有复选框
- javascript - 如何将ajax请求的响应分配给变量
- python-3.x - 在 Python 中,如何使用字典为 Zeep 设置 _soapheaders?
- ruby-on-rails - 如何将 html 文件添加到活动管理页面并使其成为页面的一部分?
- python - 在 Linux 上使用 python 调整终端窗口的大小