Domanda

Ho lavorato con Velocity.js e VUE.JS e corse in una perdita di memoria.Fiddle del problema: puoi vedere un esempio in questo violino: 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);
});
.

Ho usato la funzione Timeline di Chrome e ho notato che il numero di nodi DOM non diminuisce mai, anche quando formi una raccolta di rifiuti.Ho iniziato a tuffarsi nel profiler heap ma è un po 'sopra la mia testa.

Quando I US .animate() invece di .velocity(), i nodi DOM sembrano essere gant correttamente.

$(nextVue.$el).animate({
    'left': '0'
}, 0, callback);
.

Sembra anche che la rimozione di Vue risolva anche il problema.Esempio: http://jsfiddle.net/yv6zr/1/ .

Cosa potrebbe causare questa perdita di memoria?

È stato utile?

Soluzione

Risolto su Velocity.js GitHub Pagina:

https://github.com/julianShapiro/velocity/issues/300 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top