使用set函数更新listview模型会导致内存泄漏

时间:2019-05-08 15:15:32

标签: listview model oracle-jet

我有一个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;  
                        }  




                    });  


        }  

这是用于更新列表视图中的模型的代码。

期待您对此的投入。

关于, 维克拉姆

0 个答案:

没有答案