Apache flex Flex:我应该以何种方式添加此事件处理程序?
我在flex项目中经常使用工作单元模式。我将有一个类,它可以调用web服务,将数据放在sqlite db中,用数据刷新模型,然后引发一个事件 我通常在一些单例类中调用这些内联和传递: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
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);
}
我可以列出我的理由,但我会告诉你