У меня есть огромная проблема при создании небольшого веб-приложения для моей домашней сети (некоторые данные о погоде, энергопотребление и т. Д.) С помощью Highcharts.Огромная утечка памяти в Highcharts - Создание и уничтожение недостающих памяти?
Мое использование - это то, что у меня есть webapp-running 24/7, который показывает мне некоторые ключевые данные в простом представлении, просто цифры ;-) Когда я нажимаю на один из этих номеров/фрагментов, подробная страница с диаграммой. Я реализовал механизм автоматической детализации, который прокручивает страницы подробностей каждые X секунд.
Моя проблема заключается в том, что я создаю диаграммы высокого чарта при щелчке по плитке, когда скрывается плитка, диаграмма уничтожается с помощью .highcharts(). Destroy(); ', после чего диалоговое окно уничтожается.
Примерно через 4-5 часов браузер вылетает («Oh Snap ...»). я профилированного использование памяти веб-сайта, и это выглядит так:
Я вполне уверен, что не должно выглядеть! Как вы можете видеть, «c» в нижележащей области становится все труднее!
Так вот мое творение диаграммы:
if(typeof $(bindTo).highcharts() !== 'undefined'){
$(bindTo).highcharts().destroy();
}
// get here data with jquery from backend [jquery caching disabled]
var chart = $(bindTo).highcharts({
......
});
Так вот только одна деталь из хром-профилировщика:
Я просто выбрал один из эти синие полосы (что означает, что этот объект, созданный здесь, все еще жив в конце проф. iling процесс [?!]). Кажется, что эта синяя полоса состоит из этого объекта 'c', и это относится к Highcharts.
Что я делаю неправильно? Это известное поведение? Как я могу это решить? (Да, может быть, я мог бы создать каждую диаграмму только один раз и просто обновить данные, но это будет мой последний decission ;-))
Благодаря