Angular Рекомендации по утечке памяти - PullRequest
0 голосов
/ 15 апреля 2020

В моем приложении 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 по этому маршруту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...