SORU
24 Aralık 2010, Cuma


Neden ve Nasıl Olay İşleyicisi bellek sızıntıları önlemek için?

Ben sadece, olay işleyicileri C = kullanarak ekleme bu StackOverflow bazı sorular ve cevapları okuyarak fark geldi# (veya sanırım, diğer .dil net) ortak bellek sızıntıları neden olabilir...

Geçmişte birçok kez bu gibi olay işleyicileri kullandım, ve, veya neden olmuş, benim uygulamalarda bellek sızıntıları neden olduğunu hiç fark etmemiştim.

Bu nasıl (neden bu aslında bir neden yok anlam bellek sızıntısı) ?-= kullanma yeterli ?

İyi ve basit herhangi bir şekilde bu verimli çoktan inşa edilmiş büyük bir uygulama izlemek için vardır ?

Şimdiden teşekkürler!

CEVAP
24 Aralık 2010, Cuma


Bir olay işleyicisi, abone iken . nedenini açıklamak basit: ^em>Yayıneviolay tutan bir başvuruaboneolayın üzerinden işleyicisi temsilci (temsilci örnek bir yöntem olduğunu varsayarsak).

Eğer yayımcı daha abone daha yaşarsa, o zaman abone için diğer kaynaklar yok bile abone hayatta tutacak.

Eğer eşit bir işleyicisi ile olay aboneliğini iptal etme, o zaman evet, işleyicisi ve olası sızıntı kaldıracaktır. Ancak, benim durumumda, bu genellikle yayımcı ve abone zaten kabaca eşit ömürleri bulduğumuz için gerçekten bir sorundur nadiren.

olası bir neden... ama deneyimlerime göre aşırı sinirli değil. Sizin kilometre, elbette değişebilir... sadece dikkatli olmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Diogo Oliveira

    Diogo Olivei

    4 HAZİRAN 2006
  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006