Javascript Openlayers切换ImageStatic源代码会导致内存增加约5兆字节
我有4个不同的地图是png文件。我使用openlayers每10秒在它们之间切换一次。代码如下: html div: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
每次更改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
})
});
}