Making the initial listener of the ListProperty weak fixes the problem. The same is fixed for Set and Map. Due to a smart implementation, this is done without any performance drawback. (The trick is to have an object, which is both the WeakReference and the Changelistener) By implying the same trick to the InvalidationListener, this should even improve the performance of the collection properties.
------------- Commit messages: - JDK-8277848 Changes: https://git.openjdk.java.net/jfx/pull/689/files Webrev: https://webrevs.openjdk.java.net/?repo=jfx&pr=689&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8277848 Stats: 157 lines in 6 files changed: 122 ins; 12 del; 23 mod Patch: https://git.openjdk.java.net/jfx/pull/689.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/689/head:pull/689 PR: https://git.openjdk.java.net/jfx/pull/689