gpt4 book ai didi

memory-leaks - Angular.js 内存泄漏与 ngRepeat 对轮询数据

转载 作者:行者123 更新时间:2023-12-01 01:12:07 24 4
gpt4 key购买 nike

我的 angular.js 应用程序中似乎存在内存泄漏。基本上,该页面由一个信息表组成,该表每五秒更新一次 AJAX 调用的 JSON 编码结果。我在这里创建了一个简化的 jsfiddle 版本:http://jsfiddle.net/alalonde/TtGXW/6/

Controller :

function HostController($scope, $timeout, Data) {
$scope.encoders = Data.load();
$scope.refreshInterval = 5;

$scope.reload = function () {
$scope.encoders = Data.load();
};

$timeout(function doReload() {
$scope.reload();
$timeout(doReload, $scope.refreshInterval * 1000);
}, 5000);
}

模板片段:
<table class="table table-striped table-bordered" ng-controller="HostController">
<tr>
<th>Status</th>
<th>...
</tr>
<tr ng-repeat="enc in encoders">
<td>
<div>{{ enc.name }}</div>
<div ng-show="enc.version">
v{{ enc.version.major }}.{{ enc.version.minor }}-{{ enc.version.rev }}
<span ng-show="enc.version.user">- {{ enc.version.user }}</span>
</div>
</td>
</tr>
</table>

在 Chrome 中每隔一分钟左右拍摄一次堆快照时,内存使用量每次都会略有上升。我已经将 Igor Minar 的修复应用到我的本地 angular.js ( https://github.com/angular/angular.js/commit/bd524fc4e5fc0feffe85632a7a6560da6bd9b762 ) 中,这有很大帮助,但内存使用量仍在无情地攀升。

任何有关在 angular.js 中使用 Chrome 内存分析器的提示将不胜感激。

最佳答案

当我轮询数据并使用 ng-repeat 循环并渲染行时,我遇到了与内存消耗相同的问题。

当我使用“item in items”时,我的内存使用量不断增加,但是当我使用“item in items track by $index”时,内存使用量稳定并且GC正确清理。

关于memory-leaks - Angular.js 内存泄漏与 ngRepeat 对轮询数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com