removeEventListener 的重要性? AS3
Importance of removeEventListener? AS3
我有几个关于事件监听器的问题。请回答清楚。
- 我们是否总是需要在每次执行 addEventListener 时都删除 EventListener?
从舞台上移除一个对象时,它是否也移除了它的事件监听器?
例如,假设我有一个带有事件监听器的文本字段,如下所示。
txtField1.addEventListener(Event.CHANGE, F_onCHange_TxtField);
我有一个代码可以从舞台上删除文本字段
我的问题是:在删除文本字段时,是否也会自动删除 eventListener?
- 移除 eventListener 时,是否有助于提高性能或其他?
以上是我的回答,有问题可以私信我!
嗯,不完全是。但是如果对象上有一个活动的事件侦听器,它将永远不会被垃圾收集。最好明确删除事件侦听器,但至少使用像这样的弱侦听器:
myThing.addEventListener(Event.Complete,处理程序,假,0,真);
最后一个参数是它的弱点。
不,这与您的第一个问题有关。对象从舞台上移除后,它仍然存在于内存中。如果你有一个强大的事件监听器,它就会留在那里。如果你把它放回舞台上,它仍然会响应它正在监听的任何事件。
删除事件侦听器与资源管理有更多关系,但如果您有一个定期创建新对象并创建事件侦听器的实例,您肯定希望确保清理它们以防止在应用程序的生命周期中持有所有这些对象。
希望对您有所帮助! Grant Skinner 在这方面有一些很棒的文章,我强烈建议您查看它们。 Start Here!
我有几个关于事件监听器的问题。请回答清楚。
- 我们是否总是需要在每次执行 addEventListener 时都删除 EventListener?
从舞台上移除一个对象时,它是否也移除了它的事件监听器? 例如,假设我有一个带有事件监听器的文本字段,如下所示。
txtField1.addEventListener(Event.CHANGE, F_onCHange_TxtField);
我有一个代码可以从舞台上删除文本字段 我的问题是:在删除文本字段时,是否也会自动删除 eventListener?
- 移除 eventListener 时,是否有助于提高性能或其他?
以上是我的回答,有问题可以私信我!
嗯,不完全是。但是如果对象上有一个活动的事件侦听器,它将永远不会被垃圾收集。最好明确删除事件侦听器,但至少使用像这样的弱侦听器:
myThing.addEventListener(Event.Complete,处理程序,假,0,真);
最后一个参数是它的弱点。
不,这与您的第一个问题有关。对象从舞台上移除后,它仍然存在于内存中。如果你有一个强大的事件监听器,它就会留在那里。如果你把它放回舞台上,它仍然会响应它正在监听的任何事件。
删除事件侦听器与资源管理有更多关系,但如果您有一个定期创建新对象并创建事件侦听器的实例,您肯定希望确保清理它们以防止在应用程序的生命周期中持有所有这些对象。
希望对您有所帮助! Grant Skinner 在这方面有一些很棒的文章,我强烈建议您查看它们。 Start Here!