Có thực hành tốt để thực hiện xử lý sự kiện thông qua WeakReference nếu sự kiện đó là điều duy nhất giữ tham chiếu và rằng chúng ta sẽ cần đối tượng được thu gom rác?WeakReference và xử lý sự kiện
Như một cuộc tranh cãi như thế này:
Folks nói rằng nếu bạn đăng ký vào một cái gì đó nó là trách nhiệm của bạn để bỏ đăng ký và bạn nên làm điều đó.
Câu hỏi trở thành: Cơ hội nào mà sự kiện đó được kích hoạt vào lúc đối tượng thu thập rác? Tại sao sử dụng một WeakReference ở nơi đầu tiên? –
@Jon Limjap mà không có một sự suy yếu, không phải là cơ hội số không vì sự kiện giữ một ca khúc của đối tượng và do đó nó sẽ không được thu thập? – fostandy
@fostandy: Không, nhà xuất bản của một sự kiện sẽ không bị người đăng ký giữ lại, nó chỉ hoạt động theo cách khác. Để cho phép người đăng ký được GC'ed mà không phải hủy đăng ký trước, người dùng nên sử dụng WeakReference. Xem: http://stackoverflow.com/a/298276/134761 – angularsen