Apache flex Flex:我应该以何种方式添加此事件处理程序?

Apache flex Flex:我应该以何种方式添加此事件处理程序?,apache-flex,Apache Flex,我在flex项目中经常使用工作单元模式。我将有一个类,它可以调用web服务,将数据放在sqlite db中,用数据刷新模型,然后引发一个事件 我通常在一些单例类中调用这些内联和传递: protected function CareerSynced():void { var process:ProcessWorkouts = new ProcessWorkouts(_dataModel, _trainerModel, _databaseCache, _database.Co

我在flex项目中经常使用工作单元模式。我将有一个类,它可以调用web服务,将数据放在sqlite db中,用数据刷新模型,然后引发一个事件

我通常在一些单例类中调用这些内联和传递:

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)

我要么使用弱引用,要么删除侦听器:

private function AllWorkoutsProcessed(event:DataReceivedEvent):void
{
     event.target.removeEventListener("AllWorksoutsProcessed",AllWorkoutsProcessed);
}
我可以列出我的理由,但我会告诉你