|
Modus ponens
модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
|
Для начала неплохо бы определится со следующими вещами:
- В какой области существует проблема?
Если проблемы пока что нет, это не значит, что ее не существует, это значит, что вы ее еще не нашли, но пока не найдете - решать бесполезно.
- Если проблема обнаружена в использовании памяти - с этим нужно бороться отдельно. И тут слушатели ни при чем, т.как слушатели это функции, их все равно одинаковое количество (если вы не используете динамически созданные функции). Ваша задача определить объекты, которые занимают память. Это может быть объекты, которые должны были быть удалены, но не были удалены потому, что все еще подписаны на события. В таком случае находите такие объекты, определяете, когда они уже не нужны, и отписываете их от событий. Это могут быть объекты событий, которые вы производите в чрезмерных количествах - руководствуясь здравым смыслом вы часто можете сократить количество созданных событий иногда подписавшись на событие только в одном месте, и использовав callback'и в других (так, чтобы не создавать новые объекты).
- Если проблема обнаружена в производительности - т.е. функции выполняются медленнее чем хотелось бы - это совсем другая история. Опять же, руководствуясь здравым смыслом почти всегда можно найти способ как заставить тот или иной алгоритм выполнятся быстрее. Это почти наверняка не связано с событиями / слушателями.
__________________
Hell is the possibility of sanity
|