Betrachten Sie den folgenden Code:
PCLASS wird mit Müll recycelt? Oder wird es weitermachen und ein Ereignis auslösen? Müssen Sie das Abonnement -Ereignis wie folgt stornieren:
MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass = null;
<答> Antwort:
MyClass pClass = new MyClass(); pClass.MyEvent += MyFunction; pClass.MyEvent -= MyFunction; pClass = null;
Der Müllrecycling des Vorfallverlags:
Abonnieren Sie MyEvent haben keinen Einfluss auf die Müllwiederherstellung von PCASS (Verlag). Das Müllrecycling des Zielobjekts:
Normalerweise hängt das Müllrecyclingverhalten davon ab, ob MyFunktion eine Instanz oder eine statische Methode ist:
Beispielmethode:
MyFunction auf MyEvent abonnieren, enthalten Zitate in MyClass. Daher kann es die Müllrückgewinnung des Zielobjekts verhindern. Sobald das Publisher -Objekt jedoch die Sammelbedingungen erfüllt, wird dieses Problem gestoppt.Statische Methode:
Das obige ist der detaillierte Inhalt vonVerhindern Event -Handler die Müllsammlung meiner Objekte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!