as determined by SkinMemoryLeakTest (remove line 180) and a leak tester
https://github.com/andy-goryachev-oracle/Test/blob/main/src/goryachev/apps/LeakTest.java
caused by:
- adding and not removing listeners
- adding and not removing event handlers/filters
- adding and not removing cell factory
- holding unnecessary instance in TreeTableViewSkin.treeTableViewSkin // test-only
NOTES:
1. this fix requiresJDK-8294809 ListenerHelper and JDK-8295806 TableViewSkin.
2. there were more memory leaks in this skin than detected by SkinMemoryLeakTest, probably because of cell factory (?). A manual test using LeakTest shows that there are no memory leaks after a) replacing skin, b) moving the components to a new window, and c) removing all the components from the window.
https://github.com/andy-goryachev-oracle/Test/blob/main/src/goryachev/apps/LeakTest.java
caused by:
- adding and not removing listeners
- adding and not removing event handlers/filters
- adding and not removing cell factory
- holding unnecessary instance in TreeTableViewSkin.treeTableViewSkin // test-only
NOTES:
1. this fix requires
2. there were more memory leaks in this skin than detected by SkinMemoryLeakTest, probably because of cell factory (?). A manual test using LeakTest shows that there are no memory leaks after a) replacing skin, b) moving the components to a new window, and c) removing all the components from the window.
- blocks
-
JDK-8241364 ☂ Cleanup skin implementations to allow switching
-
- Open
-
- relates to
-
JDK-8295806 TableViewSkin: memory leak when changing skin
-
- Resolved
-
-
JDK-8294809 ListenerHelper for managing and disconnecting listeners
-
- Resolved
-
-
JDK-8307538 Memory leak in TreeTableView when calling refresh
-
- Resolved
-
(1 links to)