Angular SPA использует много памяти в браузере

У меня есть одностраничное приложение, построенное с Angular и UI-router. При клике вокруг я заметил, что сайт становится медленнее, и так как я установил Firefox аддон «Tab data» для мониторинга памяти каждой вкладки, я заметил значительное увеличение использования памяти (начиная с 20 МБ и более 200, все еще в том же SPA).

Я понятия не имею, что его связывает, и не знаю, где начать искать. Может ли это быть чрезмерное использование других библиотек bower? (У меня около 15 atm) или это может быть что-то внутри Angular, как директивы?

Кроме того, есть ли лучший способ отладить проблемы с памятью с помощью Firefox и Firebug (на windows)?

1 ответ

  1. При разработке кода с помощью Angular js будет использоваться большое количество внешних библиотек.

    1. При добавлении этих библиотек в исходный код попробуйте добавить
      уменьшенная версия этих библиотек.
    2. Также вы можете использовать grunt или gulp, чтобы уменьшить весь интерфейсный код до одного файла javascript, чтобы время загрузки веб-сайта уменьшилось, а также совокупный размер файла javascript уменьшается.
    3. при разработке углового кода для минификации он должен быть записан в соответствующей синтаксической строке

      var app = angular.module('bigApp', []);
      
      app.controller('mainController', ['$scope','$http',
      function($scope,$http) {
      
          $scope.message = 'HOORAY!'; 
      }]);
      

    Здесь при уменьшении $scope будет преобразован в a, а $http будет преобразован в b. это просто пример высокого уровня

    Для более лучшего знания minification вы можете сослаться

    https://scotch.io/tutorials/declaring-angularjs-modules-for-minification