2011-05-22 51 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

相关问题