AngularJS数组和增量内存使用

时间:2017-06-05 19:19:53

标签: angularjs arrays memory timeout

我使用$ timeout定期从后端拉取表格数据并以HTML格式显示。我怀疑每次获得更新时,都会在浏览器中为JSON数组分配一个新的内存段。我想知道是不是这样。下面是简化的代码片段。

HTML `

<tr ng-repeat="measurement in measurementResults">
  <td>{{measurement.type}}</td>
  <td>{{measurement.value}}</td>
</tr>

JS

function startTimeout() {
  MeasurementService.getNewMeasurements(function (measuredData) {
    $scope.measurementResults = measuredData;

  });

  $timeout(startTimeout, 15000);

}

startTimeout();

这是我传递给$ scope的JSON数据数组格式。

[{"type":type1,"value":10}, {"type":type2,"value":20}, {"type":type3,"value":80}]

每次从服务回调中收到measuredData时,$ scope.measurementResults是否指向新的内存位置(或创建新数组)?

修改 我附加了两个内存图的截图,第一个显示了节点如何上下(绿线),第二个显示了应用“跟踪$ index”后线条变平的方式

enter image description here


Memory usage for nodes stable

1 个答案:

答案 0 :(得分:0)

//You may use track by for performance boost
<tr ng-repeat="measurement in measurementResults track by $index">
  <td>{{measurement.type}}</td>
  <td>{{measurement.value}}</td>
</tr>