我有一个listview依赖于CollectionTableDataSource,而后者又依赖于一个集合。每当我尝试通过使用get函数获取正确的模型然后使用set函数更新值来更新行时,它都能按预期工作,但会发生内存泄漏。我每2分钟更新大约100行。这将导致内存泄漏超过3-4 GB。 listview行的屏幕截图:
var model;
var id;
var stopCount, stops_manual, stops_auto, stops_rem, stops_total, stops_done, stops_done_percent;
for (var j = 0; j < stopCounts.length; j++) {
stopCount = stopCounts[j];
id = stopCount.id;
model = self.devicesCol().get(id);
stops_manual = stopCount.stops_manual;
stops_auto = stopCount.stops_auto;
stops_rem = stopCount.stops_rem;
stops_total = stopCount.stops_total;
stops_done = stopCount.stops_done;
stops_done_percent = stopCount.stops_done_percent + "%";
var obj_to_set = {'stops_manual': stops_manual,
'stops_auto': stops_auto,
'stops_rem': stops_rem,
'stops_total': stops_total,
'stops_done': stops_done,
'stops_done_percent': stops_done_percent
};
model.set(obj_to_set,
{
contentType: 'application/vnd.oracle.adf.resource+json',
success: function (myModel, response, options) {
obj_to_set = null;
},
error: function (jqXHR, textStatus, errorThrown) {
console.log("update failed")
obj_to_set = null;
}
});
}
这是用于更新列表视图中的模型的代码。
期待您对此的投入。
关于, 维克拉姆