Постоянное изменение изображения sr c / использование памяти (Электрон) - PullRequest
0 голосов
/ 13 января 2020

Вот следующий код:

let g = {
  characterImg: document.createElement('img'),
  num: 0
}

function test() {

  let myDiv = document.getElementById('my-div')

  const param = '#date=' + new Date().getTime()
  const imagePath = (g.num + 1).toString() + '.png' + param

  let removeListener = false
  const myFunction = function() {
    myDiv.style.backgroundImage = "url('" + imagePath + "')"

    if (removeListener)
      g.characterImg.removeEventListener('load', myFunction)
  }

  g.characterImg.src = imagePath
  if (g.characterImg.complete)
    myFunction()
  else {
    removeListener = true
    g.characterImg.addEventListener('load', myFunction)
  }

  // 15 pictures
  g.num = (g.num + 1) % 15
}

Зная, что мое приложение постоянно использует много анимированных файлов PNG, у меня есть два вопроса:

  1. Многократное выполнение тестовой функции увеличьте объем памяти, не освобождая ее в любое время. Даже если это всего лишь несколько месяцев после нескольких минут использования, я хочу иметь возможность загружать изображение без небольшой утечки для каждой загрузки. Из того, что я знаю, изменение sr c является причиной, но я не знаю, как решить эту проблему.

  2. Изменение backgroundImage не является утечкой памяти, но постоянно увеличивает памяти без вызова сборщика мусора до тех пор, пока я не сверну активное окно на несколько секунд или , когда приложение достигнет 500 млн. использования в моем случае. Разве нет способа заставить приложение вызывать сборщик мусора более эффективно или хотя бы установить ограничение памяти для приложения Electron?

Любая помощь приветствуется:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...