В моем приложении angular есть утечки памяти, и я не уверен, какие привычки я вызываю у них. Я думаю, что у меня может быть более одного, потому что, когда я работаю на одной странице моего приложения, и оно падает. То же самое происходит на других страницах. У меня должна быть какая-то привычка, которая вызывает такие проблемы.
В настоящее время я практикую следующие вещи, которые я прочитал в Интернете, чтобы сделать: Мой ngOnDestroy обычно выглядит следующим образом
ngOnDestroy() {
this.destroy.next();
this.destroy.complete();
channel.unsubscribe();
clearTimeout(this.timeout);
clearTimeout(this.filterTimeout);
}
takeUntil(this.destroy)
для сбора мусора любых подписок clearTimeout(this.timer)
на любых таймерах - Отказаться от подписки тоже (особенно ably.io pub / sub)
Одна вещь, которая касается меня, что я читаю где-то, но Я не совсем понимаю, почему мое использование операторов ngIf внутри шаблонов может привести к утечке памяти. Я действительно использую заявления ngIf в моем приложении. Одной из причин является переход между мобильной и настольной версией. как например
<div class="col-md-3 col-sm-3" *ngIf="!this.mobile" id="addToWatchListLabel">
<button id="watchListButton" type="button" mat-raised-button *ngIf="!auction.watchlistEnabled"
(click)="addToWatchList(auction.id, i)">
{{watchButtonValue}}</button>
<span id="addedToWatchList" *ngIf="auction.watchlistEnabled">
Added to Watch List!
</span>
</div>
</div>
<div class="row">
<div class="col-md-5 col-sm-12" *ngIf="this.mobile">
<button id="watchListButton" type="button" mat-raised-button *ngIf="!auction.watchlistEnabled"
(click)="addToWatchList(auction.id, i)">{{watchButtonValue}}</button>
<span id="addedToWatchList" *ngIf="auction.watchlistEnabled">
Added to Watch List!
</span>
Я также видел много видео на снимках кучи, но я нашел их очень запутанными, поэтому я надеялся, что смогу получить некоторые советы / предложения по другим вещам, чтобы проверить, что я могу быть с видом, прежде чем я go по этому маршруту.