一段时间后,Angular应用会冻结浏览器

时间:2019-10-24 07:56:54

标签: angular

我的基于角度的应用程序在一段时间后冻结了浏览器。我以为可能由于更改检测而发生这种情况,因此我在大多数顶级组件上设置了OnPush,但一段时间后浏览器保持冻结状态。我在Mac上检查了活动监视器,它显示了一段时间后Google Chrome浏览器助手的CPU占用了100%以上的资源,并且我的浏览器死了。可能是什么原因?

2 个答案:

答案 0 :(得分:0)

我过去也遇到过这些问题。确保正确销毁所有订户,并检查后台是否有任何Webworker。这些资源会不时地被填满。确保在销毁组件时销毁它们。

  ngOnDestroy(): void {
     this.observable.unsubscribe();
  }

通常在模板中的某个组件上有*ngIf时,或者当路由和相关组件正在更改时,就会发生这种情况。

答案 1 :(得分:0)

我遇到了同样的问题。此问题是由于角度内存泄漏。任何人都找不到确切的原因,每个人都有怪异的内存泄漏情况导致浏览器冻结并挂起系统。

您可以通过以下链接访问它,这可能会对您有所帮助。

https://itnext.io/angular-rxjs-detecting-memory-leaks-bdd312a070a0