我发布了一个关于如何调试内存泄漏的问题,现在我找到了导致代码中内存泄漏的问题。
this.hover.click(function() {
hover.click();
});
this.click = function(display, section) {
if(this.expanded() == true) {
this.collapse();
DrillDown.remove(true);
Table.isSortable = true;
if(Focus.Focus != null)
{
Focus.Focus.ClearFocus();
}
}
else {
this.expand();
Table.hideRowHovers(this.person);
DrillDown.display(this.Row.Cell, this.person, display, section);
Table.isSortable = true
if(Focus.Focus != null)
{
Focus.personFocus.SetFocus(this.person.Id, this.person.Id2, this.person.name);
}
}
}
它说 hover.click 在行中持有对 Row 对象的引用
DrillDown.display(this.Row.cell, this.person, display, section);
^^^^^^^^^^^^^
//This is how I am passing the row object
this.hover = new PersonRowHover(this.person);
this.hover.create(this);
this.hover.html = "";
this.hover.create(this) 指的是我为每个人创建的 PersonRow 对象。我试图将其设置为 null 但它破坏了我的代码。任何有关如何清除此变量的帮助将不胜感激。我正在尝试清除 this.Row 以便 Row 对象被垃圾收集。
谢谢你