Module  javafx.base
软件包  javafx.beans

Class WeakInvalidationListener

  • All Implemented Interfaces:
    InvalidationListenerWeakListener


    public final class WeakInvalidationListener
    extends Object
    implements InvalidationListener, WeakListener
    A WeakInvalidationListener可以使用,如果一个Observable应该只保留对监听器的弱引用。 这有助于避免内存泄漏,如果观察者在使用后未注册观察对象,则可能会发生这种情况。

    WeakInvalidationListener是通过传递原来的InvalidationListener创建的。 然后应注册WeakInvalidationListener以监听观察对象的更改。

    注意:你必须保留对InvalidationListener的引用,只要它在使用中被传递,否则将很快被垃圾收集。

    从以下版本开始:
    JavaFX 2.0
    另请参见:
    InvalidationListenerObservable
    • 构造方法详细信息

      • WeakInvalidationListener

        public WeakInvalidationListener​(InvalidationListener listener)
        构造函数为 WeakInvalidationListener
        参数
        listener - 应该通知的原始听众
    • 方法详细信息

      • wasGarbageCollected

        public boolean wasGarbageCollected​()
        如果链接的侦听器被垃圾回收,则返回true 在这种情况下,可以从observable中移除侦听器。
        Specified by:
        wasGarbageCollected在接口 WeakListener
        结果
        true如果链接的侦听器是垃圾回收的。
      • invalidated

        public void invalidated​(Observable observable)
        该方法需要通过InvalidationListener的实现来提供。 如果一个Observable变为无效,则调用它。

        一般认为在这种方法中修改观察值的不良做法。

        Specified by:
        invalidated在接口 InvalidationListener
        参数
        observable - 无效的 Observable