我的基于角度的应用程序在一段时间后冻结了浏览器。我以为可能由于更改检测而发生这种情况,因此我在大多数顶级组件上设置了OnPush
,但一段时间后浏览器保持冻结状态。我在Mac上检查了活动监视器,它显示了一段时间后Google Chrome浏览器助手的CPU占用了100%以上的资源,并且我的浏览器死了。可能是什么原因?
答案 0 :(得分:0)
我过去也遇到过这些问题。确保正确销毁所有订户,并检查后台是否有任何Webworker。这些资源会不时地被填满。确保在销毁组件时销毁它们。
ngOnDestroy(): void {
this.observable.unsubscribe();
}
通常在模板中的某个组件上有*ngIf
时,或者当路由和相关组件正在更改时,就会发生这种情况。
答案 1 :(得分:0)
我遇到了同样的问题。此问题是由于角度内存泄漏。任何人都找不到确切的原因,每个人都有怪异的内存泄漏情况导致浏览器冻结并挂起系统。
您可以通过以下链接访问它,这可能会对您有所帮助。
https://itnext.io/angular-rxjs-detecting-memory-leaks-bdd312a070a0