Frage

Zur Zeit arbeite ich an Flex-Anwendung, wo ich Multi-Core-Variante von PureMVC verwenden. Meine Frage ist in meinem Proxy ich Remote Call mache und einige (RESULT und FAULT) Ereignis-Listener zu befestigen. Also in meinem Event-Handler-Code soll ich Hörer explizit entfernen für die Herstellung RemoteObject- Klasse, die für Müll collecton?

   public function getTableGridData():void
   {
      var hostController:RemoteObject=this.hostController("ABC");
      hostController.addEventListener(ResultEvent.RESULT, handleResult);
      hostController.addEventListener(FaultEvent.FAULT, handleFault);
      hostController.getTableData();
   }

   private function handleResult(event:ResultEvent):void
   {
      ApplicationFacade.getInstance(key).sendNotification("abc", event.result);
   }

So, hier hält Hostcontroller starke Referenz sowohl die Zuhörer. So nach Result tut Hostcontroller ist berechtigt, für die Garbage Collection oder ich habe zu schwache Referenz für die Hörer erwähnen für die Herstellung von Hostcontroller, die für Müll collectioin?

War es hilfreich?

Lösung

Ich denke, Sie sollten die Zuhörer explizit entfernen. Es wäre zumindest macht es einfacher für jeden, den Code zu lesen.

Ich bin nicht sicher, wenn Sie andere Referenzen halten zu diesem Hostcontroller (wie man es von bekommen Hostcontroller () ). Wenn Sie keine weiteren Referenzen (zum Beispiel, wenn Hostcontroller () ist eine einfache create-vergessen Fabrik) und verwenden schwache Verweise auf jene Hörer, das wäre es die, die für die Garbage Collection bedeuten, noch bevor es endet es Werk -. soweit ich es verstehe

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top