У меня есть 4 карты различий, которые являются файлами PNG. Я использую openlayers для переключения между ними каждые 10 секунд. Вот код:
html div: <div id="map" class="map"></div>
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
})
});
}
Каждый раз, когда изменяется источник Imagestati c (image.getImage (). Sr c = currentMap.image_url;), Объем памяти, используемой вкладкой браузера, увеличивается примерно на 5 мегабайт. Протестирован chrome браузер. Я использую chrome: // system / для мониторинга использования памяти. В конце концов потребление памяти становится высоким, и вкладка вылетает.
Что я делаю не так?