Javascript Openlayers切换ImageStatic源代码会导致内存增加约5兆字节

Javascript Openlayers切换ImageStatic源代码会导致内存增加约5兆字节,javascript,memory-management,memory-leaks,openlayers,Javascript,Memory Management,Memory Leaks,Openlayers,我有4个不同的地图是png文件。我使用openlayers每10秒在它们之间切换一次。代码如下: html div: 每次更改Imagestatic的源(image.getImage().src=currentMap.image_url;)时,浏览器选项卡使用的内存将增加大约5 MB。测试了chrome浏览器。我正在使用chrome://system/ 监视内存使用情况。最终,内存消耗会很高,选项卡崩溃 我做错了什么 function myFunctionThatGetsCalledEver

我有4个不同的地图是png文件。我使用openlayers每10秒在它们之间切换一次。代码如下:

html div:

每次更改Imagestatic的源(image.getImage().src=currentMap.image_url;)时,浏览器选项卡使用的内存将增加大约5 MB。测试了chrome浏览器。我正在使用chrome://system/ 监视内存使用情况。最终,内存消耗会很高,选项卡崩溃

我做错了什么

  function myFunctionThatGetsCalledEveryTenSeconds(){
   var mapImage = getTheNextImage();
   setMap(mapImage);
  }

  function setMap(currentMap) {
    $('#map').empty();

    var extent = [0, 0, currentMap.map_width, currentMap.map_height];
    var projection = new ol.proj.Projection({
      code: 'map',
      units: 'pixels',
      extent: extent
    });

    layerImage = new ol.layer.Image({
      source: new ol.source.ImageStatic({
        imageExtent: extent,
        imageLoadFunction: function (image) {
          image.getImage().src = currentMap.image_url;
        }
      }),
      name: "map"
    });

    map = new ol.Map({
      target: 'map',
      logo: false,
      layers: [layerImage],
      controls: ol.control.defaults({
        attribution: false,
        zoom: true,
      }),
      view: new ol.View({
        projection: projection,
        center: ol.extent.getCenter(extent),
        zoom: 3,
        minZoom: 0.5,
        maxZoom: 5
      })
    });
  }