سؤال

حاليا أنا أعمل على فليكس التطبيق حيث أنا باستخدام متعددة النواة البديل puremvc.سؤالي هو في الوكيل أنا جعل الدعوة عن بعد وربط بعض (نتيجة خطأ) المستمع الحدث.في معالج الحدث رمز يجب أن إزالة المستمعين صراحة لصنع remoteObject فئة مؤهلة القمامة 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);
   }

حتى هنا hostController يحمل إشارة قوية من المستمعين على حد سواء.وذلك بعد resultEvent لا hostController مؤهلة لجمع القمامة أو يجب أن أذكر ضعيفة مرجعا المستمعين لصنع hostController مؤهلة القمامة collectioin ?

هل كانت مفيدة؟

المحلول

أعتقد أنك يجب أن إزالة المستمعين صراحة.فإنه على الأقل سوف تجعل من السهل على الجميع قراءة التعليمات البرمجية.

لست متأكدا إذا كنت الحفاظ على أي إشارات أخرى إلى أن hostController (كما فهمت من hostController()).وإذا لم يكن لديك أي إشارات أخرى (على سبيل المثال ، إذا hostController() هو بسيط خلق ننسى المصنع) واستخدام الإشارات الضعيفة على تلك المستمعين ، هذا يعني أنها مؤهلة لجمع القمامة حتى قبل أن ينتهي هو العمل بقدر ما أفهم ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top