Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2014, 08:26
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Удаление таких слушателей событий (на примере easeljs)
Вопрос связан с потерями памяти в 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');


?

Последний раз редактировалось dmitry111, 18.06.2014 в 10:11.
Ответить с цитированием