Насколько серьезным может быть НЕ отписаться от событий в C#? Это обязательное или рекомендуемое действие?необходимо отказаться от подписки на мероприятия?
ответ
Это важная часть из MSDN documentation, что вы должны принять во внимание
Чтобы предотвратить обработчик событий от быть вызван, когда событие подняли, просто отказаться от события. Чтобы предотвратить утечку ресурса , важно отказаться от подписки от событий, прежде чем уничтожить объект-подписчик . До тех пор пока вы не отписаться от события, групповой делегат , который лежит в основе события в объекте издательского имеет ссылку на делегат, который инкапсулирует событие обработчика абонента. Пока объект публикации сохраняет эту ссылку, ваш объект не будет мусором собран.
Это зависит от того, сколько времени проживает абонент и издатель. Ниже приведена подробная статья о проблеме и несколько подходов к ее решению: Solving the Problem with Events: Weak Event Handlers
Важно отказаться от подписки на события. Если вы этого не сделаете, то абонент не сможет собрать мусор, что приведет к потере памяти. Вот хороший пример проблем, вы можете столкнуться, если вы не отписываться:
http://developers.slashdot.org/article.pl?sid=07/11/17/0552247
Кроме того, это может привести к проблемам производительности как обработчик события будет продолжать называть, даже если он не делает ничего полезного для вас.
С другой стороны, если вы просто закончили выполнение программы, тогда нет причин отказаться от подписки на события. Это, конечно, не обязательно, и я не вижу причин рекомендовать его.
- 1. Необходимо отказаться от подписки
- 2. Mqtt: необходимо отказаться от подписки?
- 3. отказаться от подписки на рассылку
- 4. Отказаться от подписки наблюдаемого
- 5. Как отказаться от подписки?
- 6. Отказаться от подписки на оригинальное событие, когда попробуйте отказаться от подписки на переменную этого EventHandler
- 7. Отказаться от подписки/подписки События опасны?
- 8. Откройте метеорит-Отказаться от подписки?
- 9. Отказаться от подписки Пушечный канал
- 10. Sendgrid отказаться от подписки предпочтения
- 11. Prism TDD Отказаться от подписки()
- 12. PayPal IPN Отказаться от подписки
- 13. Отказаться от подписки на анонимный делегат
- 14. Как явно отказаться от подписки на коллекцию?
- 15. Private_pub: как отказаться от подписки на канал
- 16. Как правильно отказаться от подписки на событие
- 17. Как отказаться от подписки на прямой эфир
- 18. Отказаться от подписки на мероприятие с dot42
- 19. Подписки на мероприятия в марафоне
- 20. Как отказаться от подписки от команды вездесущности
- 21. Как отказаться от подписки на все репозитории в организации
- 22. Подписаться/Отказаться от подписки VS Create/TakeUntil?
- 23. Facebook Отправить запрос Отказаться от подписки
- 24. Отказаться от подписки в woocommerce email-footer.php
- 25. Удалить Mandrill отказаться от подписки link
- 26. Sitecore EXM Отказаться от подписки Уведомление
- 27. Как отказаться от подписки usecase для сайта
- 28. Отказаться от подписки пользователей в FOSUserBundle
- 29. Pusher подписаться и отказаться от подписки процесс
- 30. C# делегат, события - как отказаться от подписки?