У меня проблема с объектами ol.render.canvas.ReplayGroup, которые не выпускаются в сборку мусора.Openlayers 3 - Как мусор собирать объекты Canvas ReplayGroup?
Слой, для которого это предназначено, является ol.layer.Image, созданный из ol.source.ImageVector, в свою очередь, созданный из источника ol.source.Vector.
Последовательность событий, которые я хотел бы получить в некоторых сборках мусора: Стиль изображения установлен в null с помощью setStyle (null); , тогда для источника изображения установлено значение null с помощью setSource (null); , тогда объект ol.layer.Image удаляется с карты с помощью setMap (null);
Это приводит к удалению слоя с карты (я думаю, он исчезает), но когда я просматриваю веб-страницу с профилем распределения кучи Chrome, объект canvas.ReplayGroup все еще существует, никогда не будет использоваться снова ,
Это что-то еще? Я попытался использовать map.addLayer() вместо layer.setMap(), те же результаты.
== == редактировать
Я забыл написать, то ol.layer.Image было добавлено к ol.layer.Group. Более конкретно, последняя часть выше была map.addLayer (group), а также group.getLayers(). ForEach (function (l) {l.setMap (map);}), никакой разницы не возникает.