2011-05-22 49 views
1

我在我的flex項目中使用了很多工作模式單元。我將有一個可能調用Web服務的類,將數據放入sqlite數據庫,使用數據刷新模型然後引發事件。Flex:我應該添加這個事件處理程序?

我通常所說的行內,並通過在一些單身類:

protected function CareerSynced():void 
    { 
     var process:ProcessWorkouts = new ProcessWorkouts(_dataModel, _trainerModel, _databaseCache, _database.Conn); 
     process.addEventListener("AllWorkoutsProcessed", AllWorkoutsProcessed); 
     process.UpdateAllUnprocessed(); 
    } 

我會再得到這樣的迴應:

private function AllWorkoutsProcessed(event:DataReceivedEvent):void 
    { 
    //do something here 
    } 

我的問題是,我會補充說,事件監聽器是否正確?我想我可能會造成內存泄漏,但我不確定。我也想過使用弱引用。我很困惑什麼時候使用它們。這是否會是這種情況之一?

應該是這樣嗎?

process.addEventListener("AllWorkoutsProcessed", AllWorkoutsProcessed,false, 0, true);

回答

2

我要麼與弱引用去或只是刪除監聽器:

private function AllWorkoutsProcessed(event:DataReceivedEvent):void 
{ 
    event.target.removeEventListener("AllWorksoutsProcessed",AllWorkoutsProcessed); 
} 

我可以列出我的理由,但我只是點你this

相關問題