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

被折叠的 条评论
为什么被折叠?



