开发者

Flex: Which way should I add this event handler?

I use a unit of work pattern a lot in my flex projects. I'll have a class that might call a web service, put the data in a sqlite db, refresh a model with the 开发者_C百科data then raise an event.

I usually call these inline and pass in some singleton classes:

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

I'll then get the response like this:

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

My question is, am I adding that event listener correctly? I think I might be causing a memory leak, but I'm not sure. I've also thought about using a weak reference. I'm confused about when to use them. Would this be one of those cases?

Should it be like this?

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


I would either go with the weak reference or just remove the listener:

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

I could list out my reasons but I'll just point you to this.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜