Adobe官方文档中说到的事件弱引用
可以使用 useWeakReference 参数来指定对侦听器函数的引用是弱引用还是正常引用。通过
将此参数设置为 true,可避免侦听器函数在不再需要时仍然存在于内存中的情况。Flash
Player 使用一项称为“垃圾回收”的技术从内存中清除不再使用的对象。如果不存在对某个
对象的引用,则该对象被视为不再使用。垃圾回收器不考虑弱引用,这意味着如果侦听器函
数仅具有指向它的弱引用,则符合垃圾回收条件。
该参数的一个重要后果与显示对象事件的处理有关。通常,您可能希望从显示列表中删除显示
对象时,也将其从内存中删除。但是,如果其它对象已在 useWeakReference 参数设置为
false (默认值)时作为侦听器订阅该显示对象,该显示对象将继续存在于 Flash Player 的内
存中,即使它已不再显示在屏幕中。要解决该问题,可以使所有侦听器在 useWeakReference
参数设置为 true 时订阅该显示对象,或者使用 removeEventListener() 方法从该显示对象中
删除所有事件侦听器。