![]() |
1
1
另一个原因可能是侦听器机制的日期可以追溯到没有垃圾收集因而没有弱引用的时候。在那些日子里,侦听器与匿名函数一起使用是很常见的,因此对此类函数的唯一引用就是侦听器。随着语言的发展和弱引用特性的添加,预计默认行为将与目前使用的行为相同,这不是弱引用。 因此,简而言之,当添加弱引用时,到目前为止,仍然可以预期侦听器的默认行为是相同的。因此,弱引用是另一种选择,而不是违约。 由于今天的弱引用,在侦听器中使用此类匿名函数将在添加函数后立即被删除,根本没有任何作用(可能会破坏许多新旧代码,这取决于侦听器的强引用)。 |
![]() |
2
5
对修改对象外部状态的事件侦听器使用弱引用会导致不可预测的行为。如果您将它留给GC来删除这些侦听器,那么您不知道它什么时候会这样做。 在处理完对象后,您应该确保自己删除事件侦听器-因此,您希望开发 没有 弱的听众,这样当你忘记做的时候就很明显了,而不是被垃圾收集器覆盖。 |
![]() |
nabster023 · 拉伸和旋转电影剪辑而不失真 7 年前 |
![]() |
Dimentio · 无限循环(动作脚本3) 7 年前 |
![]() |
AeroKLiam · AS3-使用组合框进行真/假测验 7 年前 |
![]() |
nabster023 · 自动检测AS3中输入文本字段的值 7 年前 |
![]() |
TheGunners · 查找两条圆弧之间的交点 7 年前 |