2013-01-24 1 views
1

나는 javascript의 초보자입니다. 아래 함수를 사용하여 매끄러운 격자를 만들었고 날짜를 기반으로 URL을 조작하고 데이터를 얻습니다. 이 코드를 다른 날짜에 사용하면 브라우저의 메모리 요구량이 증가하고 있습니다. 내가 여기서 뭔가 잘못하고있는거야?Slickgrid 메모리 누수

var createSlickGrid = function(data, key) { 
    var options = ...; 
    new Slick.grid($('#temp'), data, options); 
} 

getData = function(date) { 
    url = <some function based on date>; 
    $.getJSON(url, function(data) { 
     createSlickGrid(data, key); 
     data = null; 
    }); 
} 

답변

0

새 슬릭 그리드를 만들면 이전 버전을 지우지 않으므로 결국 가비지 수집이 완료 될 때까지 계속 빌드됩니다.

Slick.grid의 인스턴스를 반환하여 코드를 보조합니다. 새 코드를 만들 때 원하는 경우 @Drew가 수정되면 코드를 다시로드하면 원래의 Slickgrid를 참조 할 수 있습니다. 가비지 콜렉션이이를 정리할 수 있도록 NULL로 설정하십시오.