단일 맵에 4 가지 유형의 아이콘이 있습니다. 현재 슬라이드 쇼는 각 유형별로 회전하여 다른 유형을 숨 깁니다. 서로 다른 유형의 마커에 대한 MarkerClusterer 객체가있어 클러스터되지 않습니다.MarkerClusterer 클러스터를 숨길 때의 메모리 누수
내가 겪고있는 문제는 크롬의 힙 스냅 샷이 5 분마다 약 2MB의 메모리 사용량을 증가시키고 있음을 보여줍니다.
function transitionMarkers() {
if (isSlideShowActive) {
for (var i = 0; i < markers.length; i++) {
if (nutrientsArray[slideShowCounter] === markers[i].address.SOURCE_GROUP) {
markers[i].setVisible(true);
} else {
markers[i].setVisible(false);
}
}
for (var n in types.NUTRIENTS) {
for (var sc in types.SOURCE_CODES) {
if (nutrientsArray[slideShowCounter] === n) {
markerClusters[n][sc].setMap(map);
} else {
markerClusters[n][sc].setMap(null);
}
}
}
}
incrementSlideShowCounter();
}
마커가 자신의 가시성을 변경하는 기능을 가지고, 그들이 분 이내에 다시 렌더링되기 때문에, 내가 그들에 대해 setMap (널)를 사용하여 귀찮게하지 않는이 현재 나의 코드입니다. 그러나 마커 클러스터에는이 옵션이 없습니다. 내가 힙의 스냅 샷을 검사 할 때, 나는 다음과 같이 수천 개의 개체 참조 :
[1076] :: PF 5 (360) 2451465 @ % 2 3,360%을
2,273,271이 120 % 170 5,441% @ B : GI
E :: 함수() 2,454,527 6 360% 2 3,000퍼센트 @
프로토 : PF 2,338,839 5 120 % 3백60퍼센트
D : 67,519
수천있다 마치 @ "한 bounds_changed"@ 이 bounds_changed 이벤트가 누적되어 앉아있는 중 ... 내지도는 마커 만 숨기거나 표시하며 주변을 돌아 다니거나 확대/축소하지 않습니다. 안으로 또는 밖으로, 또는 그런 것.
의견이 있으십니까?