Actionscript 3 AS3:必须删除弱引用吗?

Actionscript 3 AS3:必须删除弱引用吗?,actionscript-3,garbage-collection,Actionscript 3,Garbage Collection,要进行垃圾收集,是否必须删除弱引用侦听器?即使侦听器是弱引用的,也要删除它们,这是一种好的做法吗?或者我们可以指望垃圾收集器来适当地处理它们吗?我自己从不使用弱引用,但当我不再需要它们时,我会非常小心地删除所有侦听器。我认为最好养成总是删除侦听器的习惯,而不是使用弱引用 事件侦听器中的弱引用选项主要用于 不必手动删除事件侦听器。我个人倾向于 不要使用它,因为我喜欢完全控制对象何时到达 标记为垃圾收集 我自己从不使用弱引用,但当我不再需要它们时,我会非常小心地删除所有侦听器。我认为最好养成总是删

要进行垃圾收集,是否必须删除弱引用侦听器?即使侦听器是弱引用的,也要删除它们,这是一种好的做法吗?或者我们可以指望垃圾收集器来适当地处理它们吗?

我自己从不使用弱引用,但当我不再需要它们时,我会非常小心地删除所有侦听器。我认为最好养成总是删除侦听器的习惯,而不是使用弱引用

事件侦听器中的弱引用选项主要用于 不必手动删除事件侦听器。我个人倾向于 不要使用它,因为我喜欢完全控制对象何时到达 标记为垃圾收集


我自己从不使用弱引用,但当我不再需要它们时,我会非常小心地删除所有侦听器。我认为最好养成总是删除侦听器的习惯,而不是使用弱引用

事件侦听器中的弱引用选项主要用于 不必手动删除事件侦听器。我个人倾向于 不要使用它,因为我喜欢完全控制对象何时到达 标记为垃圾收集


这正是弱引用侦听器的要点——您不需要严格地删除它们,就可以进行垃圾收集


但是不应滥用此功能来编写草率的代码。你应该只在你不能自己清理干净的情况下才使用它们。如果您可以预测何时完成对事件的侦听,那么应该使用强引用事件侦听器,并在侦听完成后将其删除。

这正是弱引用侦听器的要点——您不必严格地将其删除,就可以进行垃圾收集


但是不应滥用此功能来编写草率的代码。你应该只在你不能自己清理干净的情况下才使用它们。如果您可以预测何时完成对事件的侦听,则应该使用强引用事件侦听器,并在侦听完成后将其删除。

您不必手动删除弱侦听器,以便对其进行垃圾收集。不注销侦听器会导致大部分内存泄漏,因此使用弱侦听器可以显著提高程序的稳定性

但是,为了防止弱侦听器在准备就绪之前被删除,您必须至少有一个对它的强引用(或使用实例方法)。这通常意味着监听器需要保留注册的任何内容,直到父类引用被删除为止。这使得侦听器的持续时间与拥有侦听器的实例的持续时间一样长,这是组件最常见的情况

在有些情况下,你必须管理听众,也就是说,如果你计划在父母的整个生命中都不去倾听。可能您希望删除侦听器,然后稍后再将其添加回,这并不常见,但会发生。这就是弱侦听器相对于强引用侦听器没有任何优势的地方

一旦删除对弱侦听器的强引用,垃圾收集器将快速删除弱侦听器。弱听众使清理变得简单得多。尽管人们都很谨慎,我相信你们会听到,因为弱侦听器对于UI框架来说是相当新的。当GC被添加到主流语言中时,大多数人对此也过于谨慎


我们依靠GC来清理内存,这可以产生更稳定的代码,现在人们不再称之为草率的代码。弱侦听器没有什么不同。

您不必手动删除弱侦听器,就可以对其进行垃圾收集。不注销侦听器会导致大部分内存泄漏,因此使用弱侦听器可以显著提高程序的稳定性

但是,为了防止弱侦听器在准备就绪之前被删除,您必须至少有一个对它的强引用(或使用实例方法)。这通常意味着监听器需要保留注册的任何内容,直到父类引用被删除为止。这使得侦听器的持续时间与拥有侦听器的实例的持续时间一样长,这是组件最常见的情况

在有些情况下,你必须管理听众,也就是说,如果你计划在父母的整个生命中都不去倾听。可能您希望删除侦听器,然后稍后再将其添加回,这并不常见,但会发生。这就是弱侦听器相对于强引用侦听器没有任何优势的地方

一旦删除对弱侦听器的强引用,垃圾收集器将快速删除弱侦听器。弱听众使清理变得简单得多。尽管人们都很谨慎,我相信你们会听到,因为弱侦听器对于UI框架来说是相当新的。当GC被添加到主流语言中时,大多数人对此也过于谨慎


我们依靠GC来清理内存,这可以产生更稳定的代码,现在人们不再称之为草率的代码。弱侦听器没有什么不同。

使用强引用侦听器有什么好处吗?我在某个地方读到,最好总是使用弱引用:使用强引用侦听器有什么好处吗?我在某个地方读到,最好总是使用弱引用: