мы рендерим два графика с помощью flot, которые имеют одинаковую ось X.
мы наносим на них:
plot1 = $.plot($("#placeholderGraph1"), p1_data, d1_options);
plot2 = $.plot($("#placeholderGraph2"), p2_data, d2_options);
нам нужно убедиться, что панорамирование и масштабирование на одном графике также перерисовывают другой, и наоборот. мы достигаем этого с помощью следующего связывания:
$("#placeholderGraph1").bind("plotpan", adjustGraph1Axes);
$("#placeholderGraph2").bind("plotpan", adjustGraph2Axes);
Если мы не добавим эти два последних утверждения, утечки памяти не будет, и браузер (все браузеры) удаляет память всякий раз, когда перерисовывает. Но благодаря вышеуказанной привязке браузер никогда не сбрасывает память и накапливает сотни мегабайт.
Помимо этого, мы также обновляем отдельные легенды движениями мыши.
мы пробовали следующие подходы для утечки памяти, но ни один не работал:
1. создание глобальных переменных plot1 и plot2 и явное удаление содержимого
2. Удаление графа div и воссоздание
3. Явно отменяющий привязку событий перед повторным связыванием
4. Построение пустого графика перед перерисовкой
Есть ли другие подходы к сопоставлению двух графов или сбросу памяти?