Утечка памяти JavaScript с Vue JS и скоростью JS
-
20-12-2019 - |
Вопрос
Я работаю с Velocity.js и vue.js и столкнулся с утечкой памяти.Widdle вопроса: Вы можете увидеть пример в этой скрипке: http://jsfiddle.net/hran7/3/
$(function () {
var ExtVue = Vue.extend({
'template': '#template',
'replace': true
});
var currVue;
setInterval(function () {
var nextVue = new ExtVue();
nextVue.$appendTo($('body').get(0));
$(nextVue.$el).velocity({
'left': '0'
}, 0, callback);
function callback() {
if (currVue)
currVue.$destroy();
currVue = nextVue;
}
}, 10);
});
.
Я использовал функцию временной шкалы Chrome и заметил, что количество узлов DOM никогда не уменьшается, даже когда я принудил сборку мусора.Я начал нырять в Profiler кучу, но это немного над головой.
Когда я нам GenaCodicetacodCode вместо .animate()
узлы DOM, кажется, правильно получают GOUC.
$(nextVue.$el).animate({
'left': '0'
}, 0, callback);
.
Также кажется, что извлечение Vue также исправляет проблему.Пример: http://jsfiddle.net/yv6zr/1/ .
Что может вызвать эту утечку памяти?
Решение
разрешен на странице github velocity.js:
Не связан с StackOverflow