`ListView` does not get GCed because `SelectedItemsReadOnlyObservableList` adds a `ListChangeListener` to the (`ObservableList`) items of `ListView`.
Adding a `WeakListChangeListener` instead of `ListChangeListener` fixes the issue. Added a unit test and verified that existing tests do not fail due to this change. ------------- Commits: - 60ee7d03: 8227619: Potential memory leak in javafx.scene.control.ListView Changes: https://git.openjdk.java.net/jfx/pull/84/files Webrev: https://webrevs.openjdk.java.net/jfx/84/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8227619 Stats: 32 lines in 2 files changed: 28 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jfx/pull/84.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/84/head:pull/84 PR: https://git.openjdk.java.net/jfx/pull/84