Flash AS3调度事件的方法

Flash AS3调度事件的方法,flash,events,apache-flex,dispatchevent,Flash,Events,Apache Flex,Dispatchevent,我想知道这两种dispatchEvent方法之间的区别 //1. eventObj:YouTubeSearchEvent = new YouTubeSearchEvent(YouTubeSearchEvent.CHANGE_VIDEO_READY); eventObj.videoId = theOneVideoId; dispatchEvent(event); //2 dispatchEvent(n

我想知道这两种dispatchEvent方法之间的区别

//1.
    eventObj:YouTubeSearchEvent = new YouTubeSearchEvent(YouTubeSearchEvent.CHANGE_VIDEO_READY);
                    eventObj.videoId = theOneVideoId;
                    dispatchEvent(event);

//2
    dispatchEvent(new YouTubeSearchEvent(YouTubeSearchEvent.CHANGE_VIDEO_READY, videoId));
根据我的自定义事件,我需要有两个参数…但是我想知道第一个方法是否与第二个不同

我的自定义事件:

package com.search.events
{
    import flash.events.Event;

    public class YouTubeSearchEvent extends Event
    {
        public static const FEED_VIDEO_READY:String="feed_video_ready";
        public static const CHANGE_VIDEO_READY:String="change_video_ready";

        public var videoResult:*;

        public function YouTubeSearchEvent(type:String, videoResult:*)
        {
            super(type);

            this.videoResult=videoResult;

        }
    }
}
这个问题来自我的另一篇文章

在内部,它们没有什么不同。运行时可能会对代码进行一些优化,但我对此表示怀疑

最大的区别是第一个比第二个更可读。另外,我认为您的意思是在第一个中设置
videoResult
,而不是
videoId
,因为类中没有

编辑: 实际上,在第一个引用中创建excplicit对象引用有一个细微的区别,这取决于代码所在的位置,可能会或可能不会挂起一段时间,从而消耗内存。这是Flash虽然我不会太担心,但是你已经使用了相当多的内存,我不认为一个事件对象引用会导致问题。此外,当运行时发现它没有被使用时,它会被垃圾收集