Вопрос связан с потерями памяти в js
На примере библиотеки
easeljs.
Нужно ли удалять слушателя события, перед удалением экземпляра класса Shape?
Пример 1:
var stage = new createjs.Stage(canvas);
var shape = new createjs.Shape();
shape.graphics.beginFill("#333").drawCircle(0,0,5);
// подписывается на тик
shape.addEventListener("tick", function (event) {
console.log(this);
}.bind(this));
stage.addChild(shape);
// ...
stage.removeChild(shape);
Пример 2:
var counter = 0;
var stage = new createjs.Stage(canvas);
var shape = new createjs.Shape();
shape.graphics.beginFill("#333").drawCircle(0,0,5);
// подписывается на тик
shape.addEventListener("tick", function (event) {
counter ++;
console.log(counter);
});
stage.addChild(shape);
// ...
stage.removeChild(shape);
Нужно ли удалять слушателя перед удалением экземпляра?
// удаление слушателя
shape.removeEventListener('tick');
?