Fetch API теряет память в Chrome - PullRequest
0 голосов
/ 08 октября 2018

При использовании fetch-API наиболее простым способом Chrome неправильно собирает мусор.Я делаю что-то не так?

for (i = 0; i < 100; i++) {
  fetch('https://upload.wikimedia.org/wikipedia/commons/3/3d/LARGE_elevation.jpg')
    .then(response => {
      console.log('Memory-bloating')
    })
}

https://jsfiddle.net/dozrpcvj/12/

Этот JSFiddle заполняет память 1,4 ГБ, которая не освобождается, пока вы не соберете мусор вручную или не закроете вкладку.Если вы увеличите количество итераций до 1000, он «загрузит» 14 ГБ (со своего диска) и вместо сбора мусора начнет заполнять файл подкачки на диске.

Я что-то не так делаю или это ошибкав хроме?При тестировании с Safari он также заполняет жесткий диск 1,4 ГБ, но начинает сборку мусора, как только это будет сделано.

PS.Вы не можете использовать профилировщик памяти, поскольку это говорит о том, что вы используете только несколько МБ данных, даже если Диспетчер задач Activity Monitor или Chromes показывает 1,4 ГБ.

...